Python的正则包
import re
re的match函数,第1参数:目标字符串,第2参数:匹配模式。
match_obj = re.match(regex_str, line)
返回结果用match_obj.group()
注意:re.match是从字符串开头进行匹配,re.search可以在字符串任何位置匹配
.代表任意字符
*代表任意数量
^
匹配模式的^代表开头。^b代表是b开头的。
^b.*代表b开头的,任意字符的。
$
匹配模式的代表结尾。 3表示必须是以3结尾的。
.*3$代表以3结尾,前面是任意字符串。
贪婪、()、?
匹配模式?是贪婪模式。
- 非贪婪模式,是从后往前、从右往左匹配。
- 贪婪模式,就是加上?,从左边开始匹配。
+
+代表至少出现1次。
{1} {2,5} {2,}
{1}代表出现不多不少就1次。
{2,5}出现最少两次,最多5次。
|
或
(())
先提外层座位group(1),然后才是group(2)的内层。
[]
* 任一字符
中括号表示其中任一一个都可以。[abcd] 是a, b, c, d中任何一个都可以。
* 区间
中括号还可以表示区间[0-9],代表0到9中的数字。{0}是9位数字。
* 不等于
"(1[48357][^1]{9})"
\s \S
\s 空格
\S 不为空格
如果要多个
"(a\S+b)"
\w\W
\w匹配包括下划线的任何单词字符,但不包含标点符号如',',它等价于[A-Za-z0-9_];
\W相反,代表与\w相反的字符。
\u4E00-\u9FA5
[\u4E00-\u9FA5]只提取汉字。