正则表达式
原子
普通字符
非打印字符(如\n)
通用字符 \w任一字母数字下划线 \d任一十进制数 \s任一空白字符
原子表
[xyz]一组地位平等的原子
[^xyz]代表除了xyz之外的原子均可以匹配
元字符
. 匹配除换行符以外的任意字符
^ 匹配字符串的开始
$ 匹配字符串的结束
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
|模式选择符
()模式单元符
cd{1,}
(cd){1,}
py.*n
模式修正
I匹配时忽略大小写
M多行匹配
L做本地化识别匹配
U根据unicode字符及解析字符
S让.匹配包括换行符
result=re.search(pattern, string, re.I)
贪婪模式与懒惰模式
贪婪模式
p.*y
匹配到最后一个y
懒惰模式
p.*?y
匹配到就近的一个y
正则表达式常见函数
re.match()
re.match(pattern, string, flag)
从字符串的起始位置开始匹配
re.research()
搜索字符串全文
全局匹配函数
找所有匹配到的
#预编译
pattern=re.complie(".python.")
#找出符合模式的所有结果
result=pattern.findall(string)
print(result)
或整合成:
pattern = ".python."
result = re.compile(pattern).findall(string)
re.sub()
实现替换某些字符的功能
#全部替换
result = re.sub(pattern, "php", string)
#最多替换两次
result = re.sub(pattern, "php", string, 2)