print(r)
运行结果:
['test']
r = re.findall("^test", s1, re.M)# 修饰符re.M:多行匹配
print(r)
运行结果:
['test', 'test']
r = re.findall("^test", s1, re.I | re.M)
print(r)# 输出['test', 'Test', 'test']
运行结果:
['test', 'Test', 'test']
2.3美元符 $匹配输入字符串的结束位置
s1 = "testingnTestingntest"
r = re.findall("testing$", s1)# 默认匹配单行
print(r)
运行结果:
[]
r = re.findall("testing$", s1, re.M)# 修饰符re.M:多行匹配
print(r)# 输出['testing']
运行结果:
['testing']
r = re.findall("testing$", s1, re.I | re.M)# 多个修饰符通过 OR(|) 来指定
print(r)# 输出['testing', 'Testing']
运行结果:
['testing', 'Testing']
2.4 重复元字符 *,+,?
-
*
匹配前面的子表达式任意次
-
+
匹配前面的子表达式一次或多次(至少一次)
-
?
匹配前面的子表达式 0 次或 1 次
s1 = "znzonzoo"
r = re.findall("zo*", s1)# 匹配o{0 , }
print(r)
运行结果:['z', 'zo', 'zoo']
r = re.findall("zo+", s1) # 匹配o{1 , }print(r)
运行结果:['zo', 'zoo']
r = re.findall("zo?", s1)# 匹配o{0 , 1}
print(r)
运行结果:
['z', 'zo', 'zo']
2.5重复元字符 {}也是控制匹配前面的子表达式次数【python正则一篇搞掂】
s1 = "znzonzoo"
r = re.findall("zo*", s1)# 匹配o{0,},逗号后不能空格
r1 = re.findall(r"zo{0,}", s1)
print(r)# ['z', 'zo', 'zoo']
print(r1)# ['z', 'zo', 'zoo']
运行结果:['z', 'zo', 'zoo']
['z', 'zo', 'zoo']
r = re.findall("zo+", s1)# 匹配o{1 , }
r1 = re.findall(r"zo{1,}", s1)
print(r)# 输出['zo', 'zoo']
print(r1)# 输出['zo', 'zoo']
运行结果:['zo', 'zoo']
['zo', 'zoo']
r1 = re.findall("zo{2}", s1)
print(r1)# 输出['zoo']
运行结果:['zoo']
2. 6 字符组 []
表示匹配给出的任意字符s1 = "吴建国n李建国n黄建国"
r = re.findall("[黄刘李]建国", s1)# 匹配包含的任意字符
print(r)
运行结果:['李建国', '黄建国']
s1 = "testnTestingnzoo"
r = re.findall("[e-o]", s1)# 匹配包含的字符范围
print(r)
运行结果:['e', 'e', 'i', 'n', 'g', 'o', 'o']
s1 = "testnTestingnzoo"
r = re.findall("^[tz]", s1, re.M)# 回忆脱字符 , 匹配以[tz]开头字符 。
print(r)
运行结果:['t', 'z']
s1 = "吴建国n李建国n黄建国"
r = re.findall("[^黄刘李]建国", s1)# ^放到[]的里面 , 表示排除
print(r)
运行结果:['吴建国']
s1 = "testnTestingnzoo"
r1 = re.findall("[^e-o]", s1)# 匹配未包含的字符范围
print(r1)
# 输出
['t', 's', 't', 'n', 'T', 's', 't', 'n', 'z']
2.7 选择元字符 |表示两个表达式选择一个匹配s1 = "znzoodnfood"
r = re.findall("z|food", s1)# 匹配"z"或"food"
print(r)
运行结果:['z', 'z', 'food']
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 必吃!五大降脂明星食品
- 企业最需要什么样的Python工程师?了解一下!
- 比C语言还快20%!Mojo首个大模型开放下载,性能达Python版250倍
- OpenTelemetry入门看这一篇就够了
- 超越NumPy和Pandas:三个鲜为人知的Python库
- 五步让你掌握Python数据结构
- 挑战用 500 行 Python 写一个 C 编译器
- 带T的车开之前是否需要热车?一篇文章告诉你!
- 一篇文章告诉你,CG原画是什么?
- 2023年编程语言榜单,Python继续领跑!SQL在工作需求中夺魁