使用 findall , 返回的是一个列表,
import re
x = re.findall(r'张','张三 张三丰 张无忌 张小凡')
print(x)
result:['张', '张', '张', '张']
\b : 匹配单词的开始和结束
\W : 匹配不是字母,数字,下划线的字符
\w : 匹配字母,数字,下划线
\d : 匹配数字
. : 匹配任意除换行符”\n”外的字符
+ : 匹配前面的字符一次或多次
* : 匹配前面的字符零次或多次
? : 匹配前面的字符一次或零次,非贪婪匹配,
\ : 转义
| :或
^ : 开始
$ : 结束
re.I : 匹配时忽略大小写。
re.S : 匹配任何非空白的字符,包括"\n"在内,
reg=r'原字符串显示' 即不转义
re.search(pattern,string,flag=0)
import re
# compile()预编译
string = "1abc23def45"
pat = re.compile(r"\d+")
print(pat.pattern)
输出结果:\d+
import re
# compile()预编译
string = "1abc23def45"
pat = re.compile(r"\d+")
print(pat.findall(string))
输出结果:['1', '23', '45']
import re
# ^与$的使用
string = "HELLO WORLD"
print(re.findall(r"^hello", string, re.I))
添加了辅助参数flags,re.I表示匹配时忽略大小写。输出结果为“[‘HELLO’]”。
import re
string = "HELLO WORLD"
print(re.findall(r"\b\w+\b", string))
输出结果:['HELLO', 'WORLD']
import re
# ^与$的使用
string = "HELLO WORLD"
print(re.findall(r"WORLD$", string, re.I))
输出结果:['WORLD']