基本正则表达式的元字符
元字符 | 用法 | 注解 |
---|---|---|
^ | '^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]y\b' | 一个单词的边界字母“y” |
\B | 'b[uo]y\B' | 一个单词的非边界字母“y” |
\w | 匹配包含下划线的所有单词字符,不包括中文字符和标点。 | |
\W | 非“上”:"."、" "、[、<、{、(、~、!、@、#、$、%、^、&、*、'、""、:、;、? |
字符类 | 说明 |
---|---|
[:alnum:] | 任意字母或数字 |
[:alpha:] | 任意字母 |
[:digit:] | 任意数字 |
[:lower:] | 小写字母 |
[:upper:] | 大写字母 |
[:space:] | 任意一个空白字符(空格、制表符、换行符、分页符) |
[:blank:] | 空格和制表符 |
[:graph:] | 可见的打印字符 |
[:print:] | 可见的打印字符和空白字符(不包含控制字符,字符串结束符) |
[:cntrl:] | 任意控制字符(ASCII表的前32个字符) |
[:punct:] | 任意一个标点符号 |
[:xdigit:] | 十六进制数字 |
运算符 (从高到低依次向下) | 说明 |
---|---|
\ | 转义符 |
[] |
方括号表达式 |
() |
分组 |
* + ? {m} {m,} {m,n} |
限定符号 |
普通字符 | |
^ $ |
行定位符 |
| |
或 |