8.4. Java正则表达式的使用心得或注意事项

8.4.1. 正则中的斜杠,要写成2个斜杠

普通程序中,即使是正则中,斜杠也就是斜杠。

但是java中,由于string的设计,导致斜杠,是特殊的转义字符,所以,在正则中,如果想要写普通的,正则的转义,比如'\d'表示数字,则要写成'\\d'才可以。

所就变成了:其他程序中,正常的写单个的斜杠的,java中,都要变成双斜杠。

详见:【已解决】Java的正则表达式java.util.regex中匹配星号’*’ asterisk字符本身

8.4.2. replaceAll中的斜杠,单个斜杠要写陈四个斜杠

如上所说,java中的,正则中的斜杠字符本身,要写成两个斜杠

而如果遇到replaceAll等函数,则一个斜杠,要写成四个斜杠,才能被识别。

比如你想把字符串中,所有的,的单个斜杠,都变成双斜杠,则要写成


string.replaceAll("\\\\", "\\\\\\\\");

        

详见:【已解决】android中的java的正则的替换:去除掉宏定义中行末的反斜杠

8.4.3. java 7之后才支持命名的组(named group)

即,Java 6之前不支持named group

详见:【已解决】Java的正则表达式java.util.regex中的命名的组(named group)