[:alnum:]0-9,A-Z,a-z
[:alpha:]A-Z,a-z
[:blank:] ,tab
[:cntrl:]CR,LF,Tab,Del...
[:digit:]0-9
[:graph:]except and Tab
[:lower:]a-z
[:upper:]A-Z
[:print:]任何能被打印出来的字元
[:punct:]punctuation symbol
[:space:] ,Tab,CR
[:xdigit:]0-9,A-Z,a-z 16位进制数
\cx 匹配由x指明的控制字符 x的值必须为 A-Z,a-z
\f \x0c \cL 换页符
\n \x0a \cJ 换行符
\r \x0d \cM 回车符
\s \f\n\r\t\v 匹配任何空白字符,包括空格,制表符,换页符
\S ^\f\n\r\t\v 匹配任何非空白字符
\t \x09 \cl 制表符
\v \x0b \cK 垂直制表符
\$ 匹配字尾位置 如果设置了multiline 则也匹配\n\r之前的位置匹配
()
+ 前面字符的1-N次
* 前面字符的0-N次
?前面字符的 0-1次 或者一个非贪婪限定符
. except \n之外的任何单字符
[ 表示中括号表达式的开始
^ 表示开头位置,如果设置了multiline,则也匹配\n\r之后的位置,除非在方括号中,则表达不接受括号内的字符集合
{ 表示限定符表达式的开始
| 表示 或
末尾添加:
i 不区分大小写
g 尽可能多搜索
限定符
*
+
?
{n} n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o
{n,} o{0,}等价于o* o{1,}等价于o+ n 是一个非负整数。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o
{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。
#################注意不能将限定符号与定位符号一起使用###################
定位符
^
$
\b 匹配一个字边界 ,字与空格间的位置
\B 非字边界匹配
例子
Chapter [1-9][0-9]* 1-N
Chapter [0-9]{1,2} 0-99
Chapter [1-9][0-9]? 1-99
Chapter [1-9][0-9]{0,1} 1-99
^Chapter [1-9][0-9]{0,1} 以Chapter开头 1-99
^Chapter [1-9][0-9]{0,1}$
\bCha 匹配单词 Chapter 的开头三个字符
ter\b 匹配单词 Chapter 中的字符串 ter
\Bapt 匹配 Chapter 中的字符串 apt,但不匹配 aptitude 中的字符串 apt
<H1>Chapter 1 - 介绍正则表达式</H1>
<.*> 贪心算法 表达式匹配从开始小于符号 (<) 到关闭 H1 标记的大于符号 (>) 之间的所有内容。
<.*?> 加了?后变为非贪心算法 只需要匹配开始和结束 H1 标签,
<\w+?> 只想匹配开始的 H1 标签
选择
(非捕获元)
?: 消除圆括号的缓存
?= 正向预查,在任何开始匹配圆括号内的正则表达式模式的位置来匹配搜索字符串,
?! 负向预查,在任何开始不匹配该正则表达式模式的位置来匹配搜索字符串。
反向引用
^tel:[0-9]{1-3}-[0][0-9]{2-3}-[0-9]{8,11}
^tel:\d{1}
[:alpha:]A-Z,a-z
[:blank:] ,tab
[:cntrl:]CR,LF,Tab,Del...
[:digit:]0-9
[:graph:]except and Tab
[:lower:]a-z
[:upper:]A-Z
[:print:]任何能被打印出来的字元
[:punct:]punctuation symbol
[:space:] ,Tab,CR
[:xdigit:]0-9,A-Z,a-z 16位进制数
\cx 匹配由x指明的控制字符 x的值必须为 A-Z,a-z
\f \x0c \cL 换页符
\n \x0a \cJ 换行符
\r \x0d \cM 回车符
\s \f\n\r\t\v 匹配任何空白字符,包括空格,制表符,换页符
\S ^\f\n\r\t\v 匹配任何非空白字符
\t \x09 \cl 制表符
\v \x0b \cK 垂直制表符
\$ 匹配字尾位置 如果设置了multiline 则也匹配\n\r之前的位置匹配
()
+ 前面字符的1-N次
* 前面字符的0-N次
?前面字符的 0-1次 或者一个非贪婪限定符
. except \n之外的任何单字符
[ 表示中括号表达式的开始
^ 表示开头位置,如果设置了multiline,则也匹配\n\r之后的位置,除非在方括号中,则表达不接受括号内的字符集合
{ 表示限定符表达式的开始
| 表示 或
末尾添加:
i 不区分大小写
g 尽可能多搜索
限定符
*
+
?
{n} n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o
{n,} o{0,}等价于o* o{1,}等价于o+ n 是一个非负整数。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o
{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。
#################注意不能将限定符号与定位符号一起使用###################
定位符
^
$
\b 匹配一个字边界 ,字与空格间的位置
\B 非字边界匹配
例子
Chapter [1-9][0-9]* 1-N
Chapter [0-9]{1,2} 0-99
Chapter [1-9][0-9]? 1-99
Chapter [1-9][0-9]{0,1} 1-99
^Chapter [1-9][0-9]{0,1} 以Chapter开头 1-99
^Chapter [1-9][0-9]{0,1}$
\bCha 匹配单词 Chapter 的开头三个字符
ter\b 匹配单词 Chapter 中的字符串 ter
\Bapt 匹配 Chapter 中的字符串 apt,但不匹配 aptitude 中的字符串 apt
<H1>Chapter 1 - 介绍正则表达式</H1>
<.*> 贪心算法 表达式匹配从开始小于符号 (<) 到关闭 H1 标记的大于符号 (>) 之间的所有内容。
<.*?> 加了?后变为非贪心算法 只需要匹配开始和结束 H1 标签,
<\w+?> 只想匹配开始的 H1 标签
选择
(非捕获元)
?: 消除圆括号的缓存
?= 正向预查,在任何开始匹配圆括号内的正则表达式模式的位置来匹配搜索字符串,
?! 负向预查,在任何开始不匹配该正则表达式模式的位置来匹配搜索字符串。
反向引用
^tel:[0-9]{1-3}-[0][0-9]{2-3}-[0-9]{8,11}
^tel:\d{1}