正则表达式常用符号和字符

正则表达式

正则表达式是由一些字符和特殊符号组成的字符串,他们描述了模式的重复或表述多个字符,于是正则表达式能按照某种模式匹配一系列有相似特征的字符串。也即它们能匹配多个字符串

常用特殊字符和符号

0.择一匹配         (|

|  从多个模式中选择其一,类似于逻辑或,例如:

     正则表达式             匹配的字符串
     apple|orange     apple,orange
            cpp|java|python           cpp,java,python

1.任意匹配单个字符         (.

. 匹配除了换行符\n以外的任意字符,例如:

     正则表达式             匹配的字符串
     a.c     a(任意字符)c
               ..              任意两个字符

2.从字符串开始或结尾或单词边界匹配(^)     ($)     (\b)       (\B)

^或\A接字符串,表示以该字符串开始(区别:^匹配一行的开始,\A匹配输入的开始)

$或\Z接字符串,表示以该字符串结尾(同上)

\b接字符串,表示以该字符串开始(区别于^和\A:匹配一个单词起始部分,不管该单词前面是否有任何字符。通俗来说:^匹配字符串的开始,\b匹配单词的开始

\B接字符串,表示以该字符串为子串但不是边界

     正则表达式             匹配的字符串
     ^in       任何以in开头的字符串
               com$               任何以com结尾的字符串
                the      任何包含the的字符串
     \bthe       任何以the开始的字符串
     \bthe\b              单词zhe
     \Bthe              任何包含但不以the开始的字符串
     the\B              任何包含但不以the结尾的字符串

3.创建字符集,类似于择一匹配     ([]

([])用于匹配某些特定字符,区别于(.)匹配任意字符,匹配方括号中包含的任意字符

     正则表达式             匹配的字符串
     c[abcd]d     cad,cbd,ccd,cdd
            [cp][jv][py]           cjp,pjp,cvp,cvy,pjp,pjy

4.限定范围或否定  (-)  ([^]

方括号中两个字符以-符号连接表示指定一个范围,在连接的字符之中。

方括号中紧紧连接^符号表示不匹配给定字符集任一字符

    正则表达式             匹配的字符串
    [a-c][d-f]     ad,ae,af,bd,be,bf,cd,ce,cf,
            [^aeiou]           一个非元音字符
           [^\t\n]            不匹配制表符或换行符

5.零次,一次或多次匹配(*)    (+)    (?)  ;频数匹配   {M}    {M,N}    {M,}

*将匹配其左边的正则表达式出现零次或多次的情况。

+将匹配其左边的正则表达式出现一次或多次的情况。

?将匹配其左边的正则表达式出现零次或一次的情况。

{M}将匹配其左边的正则表达式出现M次的情况。

{M,N}将匹配其左边的正则表达式出现M到N次的情况。

{M,}将匹配其左边的正则表达式出现M次或更多次的情况。

    正则表达式             匹配的字符串
    dog?     dog,do
           dog*            do,dog,dogg,doggg,....do任意个g
           dog+            dog,dogg,doggg,....dog任意个g
           dog{5}            doggggg
           dog{2,3}            dogg,doggg

 6.表示字符集的特殊字符   (\w)(\d)   (\s)

\w  匹配任何字母数字下划线字符

\d   匹配任何十进制数字

\s  匹配任意空格字符

    正则表达式             匹配的字符串
    \w+     一串由字母数字组成的字符串
           \d{3}-\d{3}-d{4}            美国电话号码形式,如800-555-1212
           \w+@\w+\.com           [email protected]形式的电子邮件地址
           \s           与[\n\r\t\v\f]相同,与\S相反

猜你喜欢

转载自www.cnblogs.com/lht-record/p/10217473.html