首页 > 编程语言 > 详细

python 正则

时间:2019-07-17 09:50:36      阅读:82      评论:0      收藏:0      [点我收藏+]

一. 正则 r(.*)  (.*?) .*

    1.1. 符号r

        <1>. r表示字符串为非转义的原始字符串,让编译器忽略反斜杠,也就是忽略转义字符

    1.2. 符号.

        <1>. 匹配除换行符以外任意字符

        <2>. 测试如下

技术分享图片
1 #!/usr/bin/python
2 # -*- coding: UTF-8 -*-
3 import re
4 str1 = aababaaba
5 print re.findall(ra.b, str1)
View Code

        技术分享图片

    1.3. 符号*

        <1>. 前面那个字符,重复0次或更多次

        <2>. 测试如下

技术分享图片
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import re
str1 = aababaaba
print re.findall(ra*b, str1)
View Code

        技术分享图片

        ps:测试程序中符号*前是a, 故a重复几次都可以提取出来

    1.4. 组合符号.*

        <1>. 贪婪算法,尽可能重复多次

        <2>. 测试如下

技术分享图片
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import re
str1 = aababaaba
print re.findall(ra.*b, str1)
View Code

技术分享图片

        <3>. .*组合在一块儿,就变成了另一个意思。在例子中,就是从第一个字母开始扫,遇到a就开始截取,然后找所有的b,最后找到以b结尾尽可能长的一段字符串

    1.5. 组合符号.*?

        <1>. 非贪婪算法,遇到一次停一次

        <2>. 测试如下

技术分享图片
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import re
str1 = aababaaba
print re.findall(ra.*?b, str1)
View Code

技术分享图片

    1.6. 组合字符(.*?)

        <1>. 与1.5相似,但只保留括号中的内容

        <2>. 测试如下

技术分享图片
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import re
str1 = aababaaba
print re.findall(ra(.*?)b, str1)
View Code

技术分享图片

 

python 正则

原文:https://www.cnblogs.com/linux-37ge/p/11198490.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!