Python 通过 re 模块来使用正则表达式(regex)的思想。
re 模块的 match, search 方法构造出匹配对象,match 是匹配,search 是查找,这个对象有 group,groups 方法。
re 模块的 findall, finditer 方法查找第一次出现的位置。
re 模块的 sub, subn 构造一个字符串,其功能是实现搜索替换。
正则表达式为高级文本模式匹配、抽取与/或文本形式的搜索和替换功能提供基础。在正则表达式中,如果不包含特殊字符,将按文本匹配,所以
'food' 匹配 'food'.
规则
表示法 | 描述 |
---|---|
* | 匹配前面零次或多次前面出现的表达式 |
+ | 匹配前面1次或多次前面出现的表达式 |
? | 匹配零次或1次前面的表达式 |
[..] | 匹配字符集的任意字符 |
[...x-y...] | 匹配x-y范围的任意字符 |
\d | 匹配任何十进制 |
\w | 匹配任意字母 |
\s | 任意空字符 |
1.如果要匹配特殊字符,使用反斜杠转义;
2.括号可用于分组;
str1 = 'www.baidu.com'
str2 = 'www.sina.com'
import re
website = 'www\.\w+\.com'
m = re.search(website, str1)
n = re.search(website, str2)
if m is not None:
print(m.group())
if n is not None:
print(n.group())
# www.baidu.com
# www.sina.com
# 也可以写成 website='\w+\.\w+\.\w+'
网友评论