正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配,比如,判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。
正则表达式的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。
re模块
- Python 自1.5版本起增加了
re
模块,它使 Python 拥有了全部的正则表达式功能。re
模块提供一系列的函数用于正则表达式的匹配
和替换
,这些方法使用一个模式字符串
做为它们的第一个参数。
re.match函数
re.match
尝试从字符串的起始位置
匹配一个模式,当匹配成功时,返回一个匹配的对象
,否则返回None
。
re.match(pattern, string, flags=0)
参数 | 描述 |
---|---|
pattern | 正则表达式 |
string | 待匹配的字符串 |
flags | 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写 |
- 实例演示
import re
print(re.match('www', 'www.neuedu.com')) # 从起始位置匹配成功
print(re.match('com', 'www.neuedu.com')) # 匹配成功,但不在起始位置
<_sre.SRE_Match object; span=(0, 3), match='www'>
None
group函数
- 使用
group(num)
或groups()
函数来获得被匹配到的字符串
匹配对象方法 | 描述 |
---|---|
group(num=0) | 匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。 |
groups() | 返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。 |
import re
result = re.match("neuedu", "neuedu.com")
print(result.group())
neuedu
- end -
网友评论