.
:任意一个字符
\d
:代表一个数字,等价于 [0-9]
\D
:代表一个非数字,等价于 [^\d]
或者 [^0-9]
\s
:代表一个空白字符,诸如 Space
,\n
,\r
,Tab
\S
:代表一个非空白字符
\w
:代表一个单词字符,诸如a
,9
,_
,蛙
\W
:代表一个非单词字符
*
:量词,左侧字符串出现任意次(包括 \(0\) 次)
?
:量词,左侧字符出现 \(\le1\) 次
+
:量词,左侧字符出现 \(\ge1\) 次
{n}
:左侧字符出现 \(n\) 次
{n,m}
:左侧字符出现 \(x\) 次,其中 \(n\le x\le m\),\(m\) 可以不写表示无上限
[]
:范围符号,[a2c]
表示三选一,[a-z]
表示范围,[^a-z]
表示非(反选),[\u4e00-\u9fa5]
表示一个汉字
()
:表示一个整体
|
:代表或者,aaaa|b
可以匹配 aaaa
和 b
现在你已经掌握了正则表达式的基本操作了
练一练!
没有多余 \(0\) 的小数 -?([1-9]\d*\.\d*[1-9]|0|0\.\d*[1-9])
在 python 中,用 import re
,a=re.match(pattern,string,flag=0)
,然后 a.group()
表示所有匹配得上的词,注意是从起始位置匹配