python学习-53 正则表达式
正则表达式
就其本质而言,正则表达式是一种小型的/高度专业化的编程语言,它内嵌在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))")
['', '', '', '', '', '', '']
>>> 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', '', 'w', 'o', 'r', 'l', 'd', '']
>>> re.findall ("\w+","hello1 world2")
['hello1', 'world2']
python学习-53 正则表达式的更多相关文章
- [Python学习笔记]正则表达式总结
常用缩写字符及其含义表格查询 缩写字符分类 含义 \d 0-9的任意数字 \D 除0-9的数字以外的任何字符 \w 任何字母.数字或下划线字符(可以认为是匹配"单词"字符) \W ...
- Python学习 之 正则表达式
1.简单的正则表达式 import re s=r'abc' re.findall(s,"aaaaaaaaaaaaaaa") #结果为[] re.findall(s,"ab ...
- Python学习笔记——正则表达式入门
# 本文对正则知识不做详细解释,仅作入门级的正则知识目录. 正则表达式的强大早有耳闻,大一时参加一次选拔考试,题目就是用做个HTML解析器,正则的优势表现得淋漓尽致.题外话不多讲,直接上干货: 1. ...
- Python学习--16 正则表达式
正则表达式是一种描述性的语言,用来匹配字符串.凡是符合规则的字符串,我们认为就是匹配了. 正则表达式并非Python独有的,它与语言无关.很多语言都支持正则表达式. 我们经常用正则表达式来匹配电子邮件 ...
- python学习日记(正则表达式)
定义 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Pyth ...
- python学习笔记----正则表达式
正则: regular expression 常用的场景: #正则的包 >>> import re #match:开头匹配,匹配到,返回一个匹配对象,否则返回None >> ...
- python学习笔记——正则表达式regex
1 概述 1.1 定义 本质是由一系列字符和特殊符号组成的字串,用来表示一定规则的某一类字符串. 1.2 特点 正则表达式是一个独立的技术,其在多种编程语言中使用. 在python语言中的正则表达式模 ...
- Python学习 :正则表达式
正则表达式 python 使用正则表达式(re)来进行匹配引擎搜索 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串” 关于正则表达式 ...
- python 学习总结----正则表达式
正则表达式 应用场景 - 特定规律字符串的查找,切割,替换 - 邮箱格式:URl,IP地址等的校验 - 爬虫项目中,特定内容的提取 使用原则 - 只要使用字符串等函数能解决的问题,就不要使用正则 - ...
随机推荐
- 2、ES6结构赋值和模板字符串
ES6允许按照一定的模式,从数组和对象中提取值,这被称为结构,即解开数据的结构 1.数组的解构赋值 let [a,b] = [1,2] let [a,b,c=100] = [1,2] //c的默认值为 ...
- python 小技巧,给设计好的dict 增加嵌套值
beijing={} beijing={'} 现在要给beijing的增加一个shanghai1 的嵌套值 beijing['shanghai1']['name']=1 运行: 那么在python3. ...
- select,poll,epoll最简单的解释
从事服务端开发,少不了要接触网络编程.epoll 作为 Linux 下高性能网络服务器的必备技术至关重要,nginx.Redis.Skynet 和大部分游戏服务器都使用到这一多路复用技术. epoll ...
- 2018-2019 20165226 Exp9 Web安全基础
2018-2019 20165226 Exp9 Web安全基础 目录 一.实验内容说明及基础问题回答 二.实验过程 Webgoat准备 XSS攻击 ① Phishing with XSS 跨站脚本钓鱼 ...
- vue+elementui搭建后台管理界面(2首页)
1 会话存储 使用html5的 sessionStorage 对象临时保存会话 // 保存会话 sessionStorage.setItem('user', username) // 删除会话 ses ...
- tx1 gpio
- useReducer代替Redux小案例-1(七)
使用useContext和useReducer是可以实现类似Redux的效果,并且一些简单的个人项目,完全可以用下面的方案代替Redux,这种做法要比Redux简单一些.因为useContext和us ...
- 空指针异常 自动拆箱 防止 NPE,是程序员的基本修养 本手册明确防止 NPE 是调用者的责任。
空指针异常 空指针异常是指java中的异常类. 中文名 空指针异常 外文名 NullPointerException 当应用程序试图在需要对象的地方使用 null 时,抛出该异常.这种情况包括: ...
- centos7设置rsyslog日志服务集中服务器
centos7设置rsyslog日志服务集中服务器 环境:centos6.9_x86_64,自带的rsyslog版本是7.4.7,很多配置都不支持,于是进行升级后配置 # 安装新版本的rsyslog程 ...
- 【转载】 linux dig 命令使用方法
原文地址: https://www.imooc.com/article/26971?block_id=tuijian_wz 作者:ibeautiful来源:慕课网 ------------------ ...