文章转自:http://blog.csdn.net/skyeyesxy/article/details/
正则表达式学习链接:http://www.runoob.com/python/python-reg-expressions.html
1.正则表达式的符号与方法
常用符号:点号,星号,问号与括号(小括号)
- .:匹配任意字符,换行符\n除外
- *:匹配前一个字符0次或无限次
- ?:匹配前一个字符0次或1次
- .*:贪心算法
- .*?:非贪心算法
- ():括号内的数据作为结果返回
常用方法:findall, search, sub
- findall:匹配所有符合规律的内容,返回包含结果的列表
- search:匹配并提取第一个规律的内容,返回一个正则表达式对象(object)
- sub:替换符合规律的内容,返回替换后的值
1)findall
a.点号.
- 1
- 2
- 3
- 4
讯享网
- 输出
['xz']
点.是一个占位符,一个.代表一个符号
b.星号*
- 1
- 2
- 3
- 4
- 输出
['x', '', 'x', '', '', '', '', '']
依次匹配字符,有则显示,无则显示''(空)。
c.问号?
- 1
- 2
- 3
- 4
- 单独与
*一样,前面附加其他的符号将做非贪心限制
d.贪心.*
- 1
- 2
- 3
- 4
- 输出
['xxIxxa14kgj4w314exxlovexxbvk14rgjhxxyouxx']
只要满足条件全部显示,贪心算法
e.非贪心.*?
- 1
- 输出
['xxIxx', 'xxlovexx', 'xxyouxx']
以上只做了解,一般只用(.*?)
f.经典用法(.*?)
- 1
- 输出
['I', 'love', 'you']
()包围所需要的内容,括号内的内容作为结果返回,不需要的内容放在括号外面
2)re.S
- 1
- 2
- 3
- 4
- 5
- 6
- 输出
['I', 'bvk14rgjh'],因为.不能匹配换行符。所以会一行为一个搜索项去找。匹配任何字符除了新的一行
- 1
- 2
- 3
- 4
- 5
- 6
- 输出
['I', 'love\n', 'you'],re.S让.匹配所有行,包括了换行符(以\n的形式出现)
3)search
re.search(pattern, string, flags=0)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/119207.html