书名: 《精通Python网络爬虫》
作者:韦玮
索引:ISBN978-7-111-56208-5
出版社:机械工业出版社
出版时间:2017年3月
第二篇 第5章 正则表达式与Cookie
原子表 []用来分隔作为匹配条件的单个字符,模式选择符 | 分隔作为匹配条件的字符串
原子表[] , p55, 用来定义一组平等的原子,搜索时找到任一原子就匹配成功。例子:
import re
pattern1 ="[xyz]"
pattern2="\w\dpython[^xyz]\W"
string="abcdfphp345pythony_py"
result1=re.search(pattern1,string)
result2=re.search(pattern2,string)
print(result1)
print(result2)
执行结果:
<_sre.SRE_Match object; span=(11,12),match=’y’>
None
分析:pattern1相当于搜索字符x,y,或z第一次出现的位置。
pattern2="\w\dpython[^xyz]\W"
\w 匹配任意一个字母、数字或下划线,
\d 匹配任意一个十进制数
[^]排除匹配,搜索非中括号里面的原子的任一字符,
\W 匹配除字母、数字或下划线的任一字符
相当于pattern2搜索:1个字母/数字/下划线+1个十进制数字+"python"+ 1个非x/非y/非z的字符+ 1个非数字/非字母/非下划线的字符
模式选择符 |:选择符隔开不同的搜索条件, p58。例:
import re
pattern="python|php
string ="abcdfphp345pythony_py"
result=re.search(pattern,string)
print (result)
执行结果:<_sre.SRE_Match object; span=(5,8),match=’php’>
先当与pattern查找字符串python或php第一次出现的位置