点击
蓝字关注,获取更多资源~
PS: 私信/提问/ 建议/需求 可以在本公众号直接私信,也可以参与讨论,后台可以看到的哟,有时间即会回复,偶尔的延迟和疏漏还请小伙伴们谅解,蟹蟹。 扫码关注不迷路 点“在看”的,据说越来越好看???
从今天开始,小编准备用几期的文章给大家介绍一下流传已久的正则表达式,揭开其神秘面纱,小伙伴们准备好了吗?
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。 Python 中的 re 模块,提供 Perl 风格的正则表达式模式,使 Python 语言拥有全部的正则表达式功能,也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。 本文主要介绍Python中常用的正则表达式处理函数。
re.match 函数
re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。函数语法:函数参数:re.match(pattern, string, flags=0)
pattern --- 匹配的正则表达式string --- 要匹配的字符串flags --- 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等,且不同标志使用 OR(|) 连接。【见下面的可选标志】当匹配成功时,re.match 方法返回一个匹配的对象,否则返回None。我们可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。可选标志:
re.I 使匹配对大小写不敏感 re.L 做本地化识别(locale-aware)匹配 re.M 多行匹配,影响 ^ 和 $ re.S 使 . 匹配包括换行在内的所有字符 re.U 根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B. re.X 该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解。 实例:
group(num=0) 匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。 groups() 返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。 运行结果:import re
line = "Cats are smarter than dogs"
matchObj = re.match(r'(.*) are (.*?) .*', line, re.M|re.I)
if matchObj :
print("matchObj.group() : ", matchObj.group())
print("matchObj.group() : ", matchObj.group(1))
print("matchObj.group() : ", matchObj.group(2))
else:
print("No match !!")
PS: 私信/提问/ 建议/需求 可以在本公众号直接私信,也可以参与讨论,后台可以看到的哟,有时间即会回复,偶尔的延迟和疏漏还请小伙伴们谅解,蟹蟹。 扫码关注不迷路 点“在看”的,据说越来越好看???