博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 正则表达式字符说明
阅读量:5208 次
发布时间:2019-06-14

本文共 1830 字,大约阅读时间需要 6 分钟。

.

元字符 说明
. 代表任意字符
| 逻辑或操作符
[ ] 匹配内部的任一字符或子表达式
[^] 对字符集和取非
- 定义一个区间
\ 对下一字符取非(通常是普通变特殊,特殊变普通)
* 匹配前面的字符或者子表达式0次或多次
*? 惰性匹配上一个
+ 匹配前一个字符或子表达式一次或多次
+? 惰性匹配上一个
? 匹配前一个字符或子表达式0次或1次重复
{n} 匹配前一个字符或子表达式
{m,n} 匹配前一个字符或子表达式至少m次至多n次
{n,} 匹配前一个字符或者子表达式至少n次
{n,}? 前一个的惰性匹配
^ 匹配字符串的开头
\A 匹配字符串开头
$ 匹配字符串结束
[\b] 退格字符
\c 匹配一个控制字符
\d 匹配任意数字
\D 匹配数字以外的字符
\t 匹配制表符
\w 匹配任意数字字母下划线
\W 不匹配数字字母下划线

 

 

正则表达式 代表的匹配字符
[0-9] 0123456789任意之一
[a-z] 小写字母任意之一
[A-Z] 大写字母任意之一
\d 等同于[0-9]
\D 等同于[^0-9]匹配非数字
\w 等同于[a-z0-9A-Z_]匹配大小写字母、数字和下划线
\W 等同于[^a-z0-9A-Z_]等同于上一条取非

 

 例:

import rekey2 = r"

hello world

"#这段是你要匹配的文本re2 = re.compile(r"(?<=

).+?(?=

)") # ?<= 和 ?= 就是匹配里面 向前查找 和 向后查找 print(re2.findall(key2)) # 结果为 Hello world"""split 方法按照能够匹配的子串将字符串分割后返回列表"""xx = re.split('\W+', ',1,runoob,runoob, runoob1212123');print(xx)"""和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回"""it = re.finditer(r"\d+","12a32bc43jf3")for match in it: print (match.group() )"""findall在字符串中找到正则表达式所匹配的所有子串注意: match 和 search 是匹配一次 findall 匹配所有。"""pattern = re.compile(r'\D+') # 查找非数字result1 = pattern.findall('runoob 123 google 456')print(result1)""" compile 编译正则表达式,供 match() 和 search() 这两个函数使用"""pattern = re.compile(r'([0-9]+) ([0-9]+)',re.I) # re.I 表示忽略大小写cc = pattern.match('23 44444 343')print(cc.group(2) )"""sub 替换字符串中的匹配项"""phone = "2000-34-434 #这是一个外国的电话"num = re.sub(r'#.*$',"",phone);print(num)""" search 全局搜索字符串"""matchObj = re.search(r'com', 'www.runoob.com')if matchObj: print("search --> matchObj.group() : ", matchObj.group())else: print( "No match!!",matchObj)"""match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。"""ma = re.match('www', 'www.runoob.com') # 在起始位置匹配print(ma)print(ma.group(0)) #字符串中提取ip

 string_ip = "is this 289.22.22.22 ip ?

  result = re.findall(r"\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b", string_ip)

 

 

转载于:https://www.cnblogs.com/wtcl/p/8461972.html

你可能感兴趣的文章
javascript获取textarea中所选文本的开始位置、结束位置和选择的文本
查看>>
【译】在Asp.Net中操作PDF - iTextSharp - 使用字体
查看>>
事务备份还原分离附加
查看>>
JSch - Java实现的SFTP(文件上传详解篇)
查看>>
一些注意点
查看>>
.net 文本框只允许输入XX,(正则表达式)
查看>>
C#修饰符
查看>>
20.核心初始化之异常向量表
查看>>
[BSGS][哈希]luogu P3846 可爱的质数
查看>>
Python 第四十五章 MySQL 内容回顾
查看>>
iostat参数说明
查看>>
js 封装获取元素的第一个元素
查看>>
iOS 获取Home键指纹验证
查看>>
Python-Mac 安装 PyQt4
查看>>
P2571 [SCOI2010]传送带
查看>>
哈希表1
查看>>
用Data Url (data:image/jpg;base64,)将小图片生成数据流形式
查看>>
实验2-2
查看>>
C#初识
查看>>
Spider-Python爬虫之聚焦爬虫与通用爬虫的区别
查看>>