0
点赞
收藏
分享

微信扫一扫

gitlab备份-迁移-升级方案9.2.7升级到15版本最佳实践

捌柒陆壹 2024-01-28 阅读 9

目录

Regular

匹配规则

单字符匹配

 数量匹配

边界匹配

 分组匹配

贪婪与懒惰

原版说明

特殊字符

转义序列

模块方法

函数说明

匹配模式

常用匹配规则

1. 匹配出所有整数

2. 匹配11位且13开头的整数


Regular

Python的re模块提供了完整的正则表达式功能。正则表达式(Regular Expression)是一种强大的文本模式匹配工具,它能高效地进行查找、替换、分割等复杂字符串操作。

在Python中,通过 import re 即可引入这一神器。

匹配规则

单字符匹配

语法功能注意事项
.匹配除换行符(\n)以外,任意一个字符。\.匹配点本身
[]匹配[]中列举的字符,可以是很多单个,也可以范围范围写法例如[2-6],[“a”-”b”]
\d匹配数字,即0-9 
\D匹配非数字 
\s匹配空白,即空格、tab键 
\S匹配非空白 
\w匹配单词字符,即a-z,A-Z,0-9,_ 
\W匹配非单词字符 

 数量匹配

语法功能注意事项
*匹配前一个规则的字符出现0至无数次 
+匹配前一个规则的字符出现1至无数次 
匹配前一个规则的字符出现0次或1次 
{n}匹配前一个规则的字符出现n次 
{n,}匹配前一个规则的字符出现最少n次 
{m,n}匹配前一个规则的字符出现m到n次 

边界匹配

语法功能注意事项
^匹配字符串的开始放在子表达式前
$匹配字符串的结束放在子表达式后
\b匹配单词的开始或结束 
\B匹配不是单词开头或结束的位置 

 分组匹配

语法功能注意事项
|匹配左右任意一个表达式 
()将匹配的内容里一部分抠出来就用括号抠出的内容不止一个就放到元组里

贪婪与懒惰

语法功能注意事项
*?重复任意次尽可能少重复
+?重复1次或更多次尽可能少重复
??重复0次或一次尽可能少重复
{n,m}?重复nm尽可能少重复
{n,}?重复n次以上尽可能少重复

原版说明

特殊字符

转义序列

模块方法

函数说明

匹配模式


常用匹配规则

掌握正则的关键是根据规则来编写匹配样式,下面列出一些常用的Regular pattern:

1. 匹配出所有整数

>>> import re
>>> pat = '\d+'
>>> txt = 'No.123;Tel:1396260000'
>>> re.findall(pat, txt)
['123', '1396260000']

2. 匹配11位且13开头的整数

注意r'13\d{9}',13开头余下的9位数字用\d{9}表示

>>> import re
>>> txt = '''
... 001:13962600001
... 002:1330626001
... 003:18962600002
... 004:13106260003
... 005:16605200006
... '''
>>> pat = r'13\d{9}'
>>> re.findall(pat, txt)
['13962600001', '13106260003']

......

素材收集中。。。。。。

举报

相关推荐

0 条评论