Python语言re模块学习笔记

96
红蜻蜓q
2018.05.11 15:59* 字数 197

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+'
随笔
Gupao