第一章——正则表达式(特殊符号和字符)
特殊符号和字符
常见的正则表达式符号和特殊字符(元字符)
择一匹配的管道符号"|"
表示从多个模式中选择其一的操作,它用于分割不同的正则表达式。
...|str_i|str_i+1|str_i+2|...
表示在这几个字符串中选择其一
匹配任意字符.
这个符号可以匹配除了换行符\n
之外的任何字符
Python正则表达式中的编译标记
S或者DOTALL
可以推翻这个限制,使得点号.
可以匹配任意字符。
通过反斜线转义句点符号的功能,也就是
\.
可以显式表达句点符号本身。
从字符串起始^或者\A
或者结尾$或者\Z
或者边界\b
或者中间\B
匹配
^From
表示以From开头的任意字符串
From$
表示以From结尾的任意字符串
^From$
表示From这个字符串
\bFrom
表示任何以From开头的字符串
From\b
表示任何以From结尾的字符串
\bFrom\b
表示From这个字符串
\BFrom
表示包含但是不以From作为起始的字符串
创建字符集[str]
:表示方括号内字符集str所包含的任一字符
b[ae]t[1p]
表示一个包含四个字符的字符串,第一个是b
,第二个是a
或者e
,第三个是t
,第四个是1
或者p
。
限定范围[-]
与否定[^]
[0-9]
表示0—9之间的任一字符(包含首尾)
["-a]
表示ASCII表中位于"和a之间的任一字符(包含首位)
[^abc]
表示一个不包含abc内的任一字符的字符
使用闭包操作符实现存在性和频数匹配*
、+
、?
、{}
*
:匹配其左边的正则表达式出现零次或者多次的情况(在计算机编程语言和编译原理中称该操作为Kleene闭包)
+
:匹配其左边的正则表达式出现一次或者多次的情况(也叫做正闭包操作符)
?
:匹配其左边的正则表达式出现零次或者一次的情况
{}
:里面是一个数N或者由一个逗号分隔的两个数M,N,前者表示匹配左边的正则表达式N次,后者表示匹配左边的正则表达式M~N次
[dn]ot?
表示do、dot、no、not中的一个
</?[^>]+>
匹配全部有效的(和无效的)HTML标签
表示字符集的特殊字符
\d
表示任何
\D
\w
\W
\s
\S