java正则表达式(六)

六、字符转义

如果你想查找元字符本身,比如你查找“.”,“*”,就会出现问题,因为你没办法指定它们,它们会被解释成正则表达式。

这时,我们就要用\来取消这些字符的特殊意义,让正则表达式进行匹配时,将它们翻译为普通的字符串。

因此,我们应该使用\.,\*,当然要查找\本身,必须使用\\。

比如:unibetter\.com匹配unibetter.comC:\\Windows匹配C:\Windows。

注:正则表达式会在你提供的字符串中翻译\。另外在字面量的String中,java编译器要求各个\需要有两个\,即如果你

想在正则表达式中转移一个\,那么,你在编译过的String中需要两\。如果在编译的正则字符串中需要两个连续\,那么

在java源代码中需要四个连续的\,即双重转换。代码示例如下:

 1 public class TestRegExp {

 2     public static void main(String[] args) {

 4         //把XYZ或ABC替换为a\b

 5         String reg="a\\\\b";

 6         String input=">XYZ<=>ABC<";

 7         Pattern patt=Pattern.compile("ABC|XYZ");

 8         Matcher mc=patt.matcher(input);

 9         System.out.println(mc.replaceFirst(reg));

10         //输出:>a\b<=>ABC<

11 

12     }   

13 } 

 

 

 

你可能感兴趣的:(java正则表达式)