python学习-53 正则表达式
2019-08-13 08:35:45来源:博客园 阅读 ()
正则表达式
就其本质而言,正则表达式是一种小型的/高度专业化的编程语言,它内嵌在python中,并通过RE模块实现,正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行。
1.元字符
-普通字符,大多数字符和字母都会和自身匹配
-元字符
例如: . ^ $ * ? { } [ ] | ( ) \
>>> re.findall("a...d","abcfdasf") ['abcfd']
>>> re.findall("^a...d","abcfdasf") # 需要找的内容必须在字符串开头 ['abcfd']
>>> re.findall("x.....u$","xiaohongxiaogangxiaomingxiaowangxiaoliu") # 需要找的内容必须在结尾 ['xiaoliu']
>>> re.findall("xiaoliux+","xiaohongxiaogangxiaomingxiaowangxiaoliu") # + (1,无穷) [] >>> re.findall("xiaoliux*","xiaohongxiaogangxiaomingxiaowangxiaoliu") # * (0,无穷) ['xiaoliu'] >>>
>>> re.findall("liu?","xiaohongxiaogangxiaomingxiaowangxiaoliuuu") # ? (0,1) ['liu']
>>> re.findall("liu{3}","xiaohongxiaogangxiaomingxiaowangxiaoliuuu") # { } 可以是任意范围 ['liuuu'] >>> re.findall("liu{4}","xiaohongxiaogangxiaomingxiaowangxiaoliuuu") []
>>> re.findall ("q[a-z]","sdafqaa") # q与取到的a到z相匹配
['qa']
>>> re.findall ("q[0-9]*","sdafq77aa456") # 取数字 ['q77']
>>> re.findall ("q[^a-z]","sdafq77aa456") # ^ 匹配 非 a-z的值 ['q7']
>>> re.findall ("\([^()]*\)","12+(34*6+2-5*(2-1))") # \ ( 将括号转换为普通括号 ['(2-1)']
-------
\d 匹配任何十进制数,它相当于类[0-9]
\D 匹配任何非数字字符串,它相当于类[^0-9]
\s匹配任何空白字符,它相当于类[\t \n \r \f \v]
\S 匹配任何非空白字符,它相当于类[^ \t \n \r \f \v]
\w 匹配任何字母数字字符,它相当于类[a-zA-Z0-9]
\W 匹配任何非字母数字字符,它相当于类[^ a-zA-Z0-9]
\b 匹配一个特殊字符边界,比如空格,& ,#等
>>> re.findall ("\d+","12+(34*6+2-5*(2-1))") ['12', '34', '6', '2', '5', '2', '1'] >>> re.findall ("\D+","12+(34*6+2-5*(2-1))") ['+(', '*', '+', '-', '*(', '-', '))'] >>> re.findall ("\s","hello world") [' '] >>> re.findall ("\S","hello world") ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd'] >>> re.findall ("\w+","hello world") ['hello', 'world'] >>> re.findall ("\W","hello world") [' '] >>> re.findall ("\w","hello1 world2") ['h', 'e', 'l', 'l', 'o', '1', 'w', 'o', 'r', 'l', 'd', '2'] >>> re.findall ("\w+","hello1 world2") ['hello1', 'world2']
原文链接:https://www.cnblogs.com/liujinjing521/p/11336850.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:导入包
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash