Python3笔记024 - 5.3 正则表达式

5.3 正则表达式

特殊字符 意义
. 任意的一个字符(不包括改行符)
* 将该字符前的字符串重复0回以上
+ 将该字符前的字符串重复1回以上
? 将该字符前的字符串重复0~1回
^ 行的开头
$ 行的末尾
| 选择
() 正则表达式的组
[] 字符的类
{n} 重复n回
{n,} 重复n回以上
{n,m} 重复n回以上m回以下
\ 将特殊字符作为字符使用

5.3.1 行定位符

行定位符用来描述字符串的边界,"^"表示行的开始,"$"表示行的结尾。

^
$
^tm # 以tm开头的字符串
tm$ # 以tm结尾的字符串
tm # 包含tm的字符串

5.3.2 元字符

.
\w
\W
\s
\S
\b
\d
. #表示任意的一个字符
N.T NOT NET N T

5.3.3 限字符

?
+
*
{n}
{n,}
{n,m}
* # 将该字符前的一个字符重复0回以上
mo* m mo moo
+ # 将该字符之前的一个字符重复1回以上
mo+ mo moo
? # 将该字符之前的一个字符重复0回或者1回
https? http https
{4} # 将该字符之前的一个字符重复4回
s.{4}ing sleeping swimming shopping
{3,4} # 将该字符之前的一个字符重复3回以上4回以下
s.{3,4}ing sleeping smiling singing

5.3.4 字符类

将多个字符收集到一起的东西被称之为字符类。用中括号[]括住,可以将括在其中的某一文字显示出来。

[02468] # 02468中的某一个数字
[1359] # 1359中的某一个数字
[^024] # 除024以外的某一个数字
[0123456789] == [0-9] # 从0到9中某一个数字
(ab)+b # 将ab绑在一起了,视作一组

5.3.5 排除字符

# ^放在[]方括号中,表示排除的意思
[^a-zA-Z] 除大小写字母以外的字符

5.3.6 选择字符

| # 或的意思
匹配身份证的表达式
(^\d{15}$)|(^\d{18}$)|(^\d{17})(\d|X|x)$

5.3.7 转义字符

\ # 反斜杠
匹配127.0.0.1这个IP地址
[1-9{1,3}\.[0-9]{1,3}\.[0-9]{1,3}]

你可能感兴趣的:(Python3笔记024 - 5.3 正则表达式)