正则表达式 (RE)



基本正则表达式的元字符

元字符 用法 注解
^ '^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
非“上”:"."、" "、[、<、{、(、~、!、@、#、$、%、^、&、*、'、""、:、;、?


POSIX字符集
字符类

说明

[:alnum:] 任意字母或数字
[:alpha:] 任意字母
[:digit:] 任意数字
[:lower:] 小写字母
[:upper:]

大写字母

[:space:] 任意一个空白字符(空格、制表符、换行符、分页符
[:blank:] 空格和制表符
[:graph:] 可见的打印字符
[:print:] 可见的打印字符和空白字符(不包含控制字符,字符串结束符)
[:cntrl:] 任意控制字符(ASCII表的前32个字符)
[:punct:] 任意一个标点符号
[:xdigit:] 十六进制数字



正则表达式运算符优先级
运算符 (从高到低依次向下)

说明

\ 转义符

[]

方括号表达式
()
分组

* + ? {m} {m,} {m,n}

限定符号
普通字符
^ $
行定位符
|

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...