基本正则表达式的元字符
元字符 |
用法 |
注解 |
^ |
'^Sunny' |
|
$
|
'sunny$' |
|
.
|
'su..y' |
匹配所有字符包括空格符、水平制表符、汉字。 |
*
|
'sun*y' 'ss*' |
'*'不能代表空格;' *'代表没有空格以及好多空格; 等于“ s{1,} ”,至少一个“s” |
[]
|
'[r-t][l-w]*y'
|
|
[a-z]
|
'[a-s]unn[y-z]' |
|
[^,]
|
'[^A-Z]*' |
会匹配".A"、"45A",不会匹配"A"。
匹配除了大写字母以外的字符。 |
|
'sunny.' |
去掉“.”的元字符身份,还原其为自身代表的字符“点” |
< > |
'&;su.*oy&;'
'&;sunny&;' |
不止一个词,还可以匹配“suarrk is a boy”; 表示词首跟词尾同时限定,只是可以不在同一个词里。 只有"sunny"了; |
{x,y} |
'sun{2}y' 'sun{2,}y' 'sun{,2}y' 'su精确匹配“n”两次; 至少两次; |
( )
|
'(sun.* 1.*)' |
后边引用“sun”的时候前边有个“空格”: sunny means sun is clear. 代表字符集和。 |
扩展正则表达式的元字符
元字符 |
用法 |
注解 |
^ |
|
|
$
|
|
|
.
|
's...y' |
|
*
|
's*y' |
|
[ ]
|
|
|
[^ ]
|
|
|
{} |
{2} {2,7} {,7} |
精确匹配2次
最多7次 |
+ |
'2.+[89]' |
1个或多个其前字符 |
?
|
'2.?[89]' |
匹配"2.8" "2.9" "28" "29"; 0个或1个字符前字符 |
| |
'Love|love' |
|
( )
|
'(south)' |
字符集合 |
b |
'b[ou]yb' |
一个单词的边界字母“y” |
B |
'b[uo]yB' |
一个单词的非边界字母“y” |
w |
|
匹配包含下划线的所有单词字符,不包括中文字符和标点。 |
W |
|
非“上”:"."、" "、[、<、{、(、~、!、@、#、$、%、^、&、*、'、""、:、;、? |
POSIX字符集
字符类 |
说明 |
[:alnum:] |
任意字母或数字 |
[:alpha:] |
任意字母 |
[:digit:] |
任意数字 |
[:lower:] |
小写字母 |
[:upper:] |
大写字母 |
[:space:] |
任意一个空白字符(空格、制表符、换行符、分页符) |
[:blank:] |
空格和制表符 |
[:graph:] |
可见的打印字符 |
[:print:] |
可见的打印字符和空白字符(不包含控制字符,字符串结束符) |
[:cntrl:] |
任意控制字符(ASCII表的前32个字符) |
[:punct:] |
任意一个标点符号 |
[:xdigit:] |
十六进制数字 |
正则表达式运算符优先级
运算符 (从高到低依次向下) |
说明 |
|
转义符 |
[] |
方括号表达式 |
()
|
分组 |
* + ? {m} {m,} {m,n} |
限定符号 |
普通字符 |
|
^ $
|
行定位符 |
|
|
或 |
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|