一行文字开头的空格替换的正则方法

文章的显示时,只有一断文字的开头的空格需要替换,每个空格替换为 ,而文字中间的空格不替换。
下面是一位正则大师提供的解决方案,拿出来和大家共享。

String str = " 酷 流行";
System.out.println(str.replaceAll("(?m)(?<=^ *) ", " "));


替换结果    酷 流行

解释:
?m 匹配多行
?<= 代表后面字符的前面必须出现的条件
^ * 代表必须是开头,且有任意个空格
最后的空格就没啥说的了。

最终的解释就是,
一行的开头,前面有人一个空格的空格被替换为 


快乐渡过每一天,减肥坚持每一天