18、正则表达式中常用字符

1、基本规则

锚点----标识位置

    ^: 表示句首.   $: 表示句尾.

    \<: 表示詞首.  \>: 表示詞尾

修饰符

*: 表示前一個 char. set 的出現次數為 0 或多次[a-z]+able.

?: 表示前一個 char. set 的出現次數為 0 1 .

+: 表示前一個 char. set 的出現次數為 1 或多次.

{n}: 表示前一個 char. set 的出現次數必須為 n .

|: 或匹配,如a|b|c匹配abc

(): 分组符号,,love(able|rs)ov+匹配loveablelovers,匹配一个或多个ov

{n,}: 表示前一個 char. set 的出現次數至少為 n .

{n,m}: 表示前一個 char. set 的出現次數為 n m .

\:转义字符,如\{5,3\}来表示括号

[ ]:单个字符;如[A] A符合要求

[^A-F]:匹配不在指定范围内的字符所在行

[ - ]: 范围;如[A-Z]ABC一直到Z都符合要求

.: 匹配任意一个字符(1个)

.*合起来表示该位置可以出现0个以上的任意字符。

[]:匹配其中之一的字符

\(\):标记字符串,将匹配到的结果存放入寄存器中,’\(love\)’love被标记为1

\w: 匹配文字和数字字符,也就是[A-Za-z0-9],如:’G\w*p’匹配以G后跟零个或多个文字或数字字符,然后是p

\W \w: 的反置形式,匹配一个或多个非单词字符,如点号句号等。

\b: 单词锁定符,如: ‘\bgrep\b’只匹配grep

2、4. POSIX字符类

    为了在不同国家的字符编码中保持一至,POSIX(The Portable Operating System Interface)增加了特殊的字符类,如[:alnum:]A-Za-z0-9的另一个写法。要把它们放到[]号内才能成为正则表达式,如[A- Za-z0-9][[:alnum:]]

[:alnum:]文字数字字符

[:alpha:]文字字符

[:digit:]数字字符

[:graph:]非空字符(非空格、控制字符)

[:lower:]小写字符

[:cntrl:]控制字符

[:print:]非空字符(包括空格)

[:punct:]标点符号

[:space:]所有空白字符(新行,空格,制表符)

[:upper:]大写字符

[:xdigit:]十六进制数字(0-9a-fA-F

参考

【1】 http://www.cnblogs.com/mydomain/archive/2010/10/17/1853661.html

原文地址:https://www.cnblogs.com/mydomain/p/2155340.html