python中常用的正则表达式符号

‘.‘     默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字符,包括换行
‘^‘     匹配字符开头,若指定flags MULTILINE,这种也可以匹配上(r"^a","\nabc\neee",flags=re.MULTILINE)
‘$‘     匹配字符结尾,或e.search("foo$","bfoo\nsdfsf",flags=re.MULTILINE).group()也可以
‘*‘     匹配*号前的字符0次或多次,re.findall("ab*","cabb3abcbbac")  结果为[‘abb‘, ‘ab‘, ‘a‘]
‘+‘     匹配前一个字符1次或多次,re.findall("ab+","ab+cd+abb+bba") 结果[‘ab‘, ‘abb‘]
‘?‘     匹配前一个字符1次或0次
‘{m}‘   匹配前一个字符m次
‘{n,m}‘ 匹配前一个字符n到m次,re.findall("ab{1,3}","abb abc abbcbbb") 结果‘abb‘, ‘ab‘, ‘abb‘]
‘|‘     匹配|左或|右的字符,re.search("abc|ABC","ABCBabcCD").group() 结果‘ABC‘
‘(...)‘ 分组匹配,re.search("(abc){2}a(123|456)c", "abcabca456c").group() 结果 abcabca456c

‘\A‘    只从字符开头匹配,re.search("\Aabc","alexabc") 是匹配不到的
‘\Z‘    匹配字符结尾,同$
‘\d‘    匹配数字0-9
‘\D‘    匹配非数字
‘\w‘    匹配[A-Za-z0-9]
‘\W‘    匹配非[A-Za-z0-9]
‘s‘     匹配空白字符、\t、\n、\r , re.search("\s+","ab\tc1\n3").group() 结果 ‘\t‘

‘(?P<name>...)‘ 分组匹配 re.search("(?P<province>[0-9]{4})(?P<city>[0-9]{2})(?P<birthday>[0-9]{4})","371481199306143242").groupdict("city") 结果{‘province‘: ‘3714‘, ‘city‘: ‘81‘, ‘birthday‘: ‘1993‘}

最常用的匹配语法:

1 re.match 从头开始匹配
2 re.search 匹配包含
3 re.findall 把所有匹配到的字符放到以列表中的元素返回
4 re.splitall 以匹配到的字符当做列表分隔符
5 re.sub      匹配字符并替换

原文地址:https://www.cnblogs.com/zijue/p/9809837.html

时间: 2024-10-10 22:59:43

python中常用的正则表达式符号的相关文章

shell中常用的特殊符号

在shell中常用的特殊符号罗列如下: # ; ;; . , / \ 'string'| ! $ ${} $? $$ $* "string"* ** ? : ^ $# [email protected] `command`{} [] [[]] () (()) || && {xx,yy,zz,...}~ ~+ ~- & \<...\> + - %= == != # 井号 (comments) 注释字符 该句不会被执行 ~ 帐户的 home 目录 用户的

python中时间日期格式化符号

python中时间日期格式化符号: %y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999) %m 月份(01-12) %d 月内中的一天(0-31) %H 24小时制小时数(0-23) %I 12小时制小时数(01-12) %M 分钟数(00=59) %S 秒(00-59) %a 本地简化星期名称 %A 本地完整星期名称 %b 本地简化的月份名称 %B 本地完整的月份名称 %c 本地相应的日期表示和时间表示 %j 年内的一天(001-366) %p 本地A.M.或P.M

python中常用的字典内建函数

1.len(mapping)        返回映射的长度(键-值对的个数) 2.hash(obj)              返回obj的哈希值 >>> myDict = {'name':'earth', 'port':'80'} >>> len(myDict) 2 >>> hash('name') 15034981 3.dict.copy()            返回字典(浅复制)的一个副本 >>> myDict = {'nam

python中常用的列表类型内建函数

1.list.append(obj)         向列表中添加一个对象obj list = ['apple', 'pear', 'orange'] >>> list.append('apple') >>> list ['apple', 'pear', 'orange', 'apple'] 2.list.count(obj)             返回一个对象obj在列表中出现的次数 >>> list.count('apple') 2 3.list

python中常用的模块二

一.序列化 指:在我们存储数据的时候,需要对我们的对象进行处理,把对象处理成方便存储和传输的数据格式,这个就是序列化, 不同的序列化结果不同,但目的是一样的,都是为了存储和传输. 一,pickle.可以将我们python中的任意数据类型转化成bytes并写入到文件中. 同样也可以把文件中写好的bytes转换回我们的python的数据.这个过程被称为序列化 import pickle class Cat: def __init__(self, name, age): self.name = nam

[Python3] 喝下忘情水,学习 Python 中常用的命名规则

1. 可用于"起名"的元素 字母.数字.下划线和"其它" 上面的"其它"包括中文.俄文等等 虽然 Python 支持"其它",但推荐只用字母.数字和下划线"起名" 字母打头为佳并且大小写敏感 慎用下划线打头 不能用数字打头,不能用纯数字"起名" 名字中不能有空格 Python 中的"关键字"不能用于"起名" 个人觉得没必要去记它们,若非要看,可以试

Python中常用的模块

1.模块的概述 (1)模块定义:用来从逻辑上组织python代码实现一个功能,本质就是.py结尾的python文件 (2)包:用来从逻辑上组织模块,本质是一个目录(必须带有一个__init__.py的文件) (3)模块导入: import module_name import module_name1,module_name2 from module_name import *(不建议使用) from module_name import logger aslogger_dayi(如果有重名,给

python中常用的模块的总结

1. 模块和包 a.定义: 模块用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件.(例如:文件名:test.py,对应的模块名:test) 包:用来从逻辑上组织模块的,本质就是一个目录(必须带有一个__init__.py的文件) b.导入方法 import module_name import module_1的本质:是将module_1解释了一遍 也就是将module_1中的所有代码复制给了module_1 from module_n

JavaScript 中常用的 正则表达式

这编文章我来整理了一些在 javascript 中常用的正则式希望能给大家带来一些开发的灵感 //校验是否全由数字组成 function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) return false return true } 匹配中文字符的正则表达式: [u4e00-u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff]评注:可以用来计算字符串的