码迷,mamicode.com
首页 > 编程语言 > 详细

Python进阶(十二)----re模块

时间:2019-07-02 21:26:39      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:href   理解   正则表达   class   进阶   编写   贪婪   int   掌握   

Python进阶(十二)----re模块

一丶re模块

? re模块是python将正则表达式封装之后的一个模块.正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行。

#正则表达式:  从一串字符中,找出你想要的字符串.

import  re

### 单个元字符的匹配

# \W  除了数字 ,字母,中文, 下划线
print(re.findall('\W','dsadas1231 +1-+2*/,.'))
# \w  匹配中文,数字,字母,下划线
print(re.findall('\w','jdsa213-+*/,./:[]'))

# \s  匹配 :空格 \t \n
print(re.findall('\s','a \t \n d '))
# \S  匹配: 非 空格 \t \n
print(re.findall('\S','\t \nas \t da '))

#\d   只匹配数字:
print(re.findall('\d','123da13d'))
#\D   值匹配非数字
print(re.findall('\D','dsa1321'))

# \A 和 ^  从开头开始匹配
print(re.findall('\Ahe','he kf danc j he ,d'))
print(re.findall('^he','he kf danc j he ,d'))


# $  \Z  从末尾开始匹配
print(re.findall('aaa\Z','dsaaaddssaaa'))
print(re.findall('aaa$$','dsaaaddssa1aaa'))

# \n \t
print(re.findall('\n','d\n  d\n ds\ta'))
print(re.findall('\t','d\n  d\n ds\ta'))



#### 元字符匹配

# . 匹配任意一个字符
    # 如果匹配成功光标则移到匹配成功的最后的字符
    # 如果匹配未成功光标则向下移动一位再次匹配
print(re.findall('a.b','aa ,,dan a1b'))

# ? 匹配 0个 或者 1个 由左边字符定义的片段
print(re.findall('a?b','ab aabb  aaabbb')) # ['ab', 'ab', 'b', 'ab', 'b', 'b']
print(re.findall('a?b','sb ab aabb')) # [b, ab ,ab ,b]

# *  匹配 0个 或者 多个 左边字符表达式, 满足贪婪模式(即:只要符合就ab都获取)
print(re.findall('a*b','ab abb a b aabb')) # ab ab b b aab b


# + 匹配 1个 或者 多个 左边字符表达式 ,满足贪婪模式
print(re.findall('a+b','ab abab aab bba aabb b')) #ab ab aab aab


#{m,n} 匹配m个至n个(能取到n)个左边字符表达式. 满足贪婪模式
print(re.findall('a{1,3}b','ab abb b bb aaab aaaaaab')) # ab ab aaab aaab

# .* 贪婪匹配 从头到尾
print(re.findall('a.*b','aaa bbbliye dkjsah bnb'))
print(re.findall('a.*b','aaa b\nbbliye dkjsah bnb'))

# .*?   此时的? 不是对左边的字符进行0次或者1次的匹配
# 而只是针对.* 这种贪婪模式进行一种限定:告知它要遵循非贪婪模式, 推荐使用!!
# 0给或者多个
print(re.findall('a.*?b','ab a#b bb abb aabb')) # ab a#b  ab aab

关于正则:

    正则也是一门语言.如果只是python的初学者.没有必要深究,掌握几个简单的正则如何写. 就ok了.(web项目中的url可以进行简单的正则编写,更深层次的理解正则,得自学~)

转载一篇关于正则的详细博客:正则写的很全面

Python进阶(十二)----re模块

标签:href   理解   正则表达   class   进阶   编写   贪婪   int   掌握   

原文地址:https://www.cnblogs.com/dengl/p/11122843.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!