如何使用正则表达式

Posted 程姐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用正则表达式相关的知识,希望对你有一定的参考价值。

正则表达式的两种应用场景:1)查找特定信息(搜索)  2)查找并编辑特定信息(替换)

 \ 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如:序列 ‘\\‘ 匹配 "\",而 ‘\(‘ 则匹配 "("

\b 匹配一个单词边界,也就是指单词和空格间的位置(即正则表达式的“匹配”有两种概念,一种是匹配字符,一种是匹配位置,这里的\b就是匹配位置的)例如,“er\b”可以匹  配“never”中的“er”,但不能匹配“verb”中的“er”。

\B 匹配非单词边界。“er\B”能匹配“verb”中的“er”,但不能匹配“never”中的“er。

[xyz]字符集合。匹配所包含的任意一个字符。例如,“[abc]”可以匹配“plain”中的“a”

[^xyz]负值字符集合。匹配未包含的任意字符。例如,“[^abc]”可以匹配“plain”中的“plin”。

搜索单词car,不区分大小写。整个字符串进行搜索    "\b[Cc][Aa][Rr]\b"
public static void main(String[] args) { String regex = "^\\b[Cc][Aa][Rr]\\b$"; Pattern pattern = Pattern.compile(regex); Matcher match = pattern.matcher("car"); boolean flag = match.matches(); System.out.println(flag); Matcher match1 = pattern.matcher("car "); boolean flag1 = match1.matches(); System.out.println(flag1); Matcher match2 = pattern.matcher(" car "); boolean flag2 = match2.matches(); System.out.println(flag2); Matcher match3 = pattern.matcher("CAR"); boolean flag3 = match3.matches(); System.out.println(flag3);
     Matcher match4
= pattern.matcher("cAr"); boolean flag4 = match4.matches(); System.out.println(flag4);

      Matcher match5 = pattern.matcher("carb");
      boolean flag5 = match5.matches();
      System.out.println(flag5);


    }

true
false
false
true
true
false

\b[Cc][Aa][Rr]\b  匹配car、CAR、CAr、Car (car不区分大小写的),但是不能匹配空格等

 

 

以上是关于如何使用正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JavaScript 正则表达式提取字符串?

text 正则表达式片段

markdown 正则表达式模式片段

循环通过 python 正则表达式匹配

正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性

如何测试文本片段是不是是 Quoted-printable 编码的