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+'
来源: http://www.jianshu.com/p/3d7838ba0cef