• 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 } 

     

     

  • 相关阅读:
    [atARC100F]Colorful Sequences
    [atARC103D]Robot Arms
    [atARC107F]Sum of Abs
    [atAGC047F]Rooks
    [loj3278]收获
    [cf809E]Surprise me
    [cf997E]Good Subsegments
    [cf603E]Pastoral Oddities
    Codeforces Round #453
    Educational Codeforces Round 32
  • 原文地址:https://www.cnblogs.com/loritin/p/2730170.html
Copyright © 2020-2023  润新知