Python正则表达式
谁动了我的数据库!
bug与你同在
展开
-
正则re模块
import re #正则表达式模块 data=‘Python is the best language in the world’ result=re.match(‘P’,data) #精确匹配 从起始位置匹配 print(type(result)) #返回<class ‘re.Match’> print(result.group()) #获取匹配结果原创 2021-03-09 15:17:13 · 184 阅读 · 0 评论 -
限定的匹配规则
import re #*匹配 前一个字符出现0次或者 无限次即可有可无 res=re.match(’[A-Z][a-z]*’,‘Tom’) print(res.group()) +匹配 前一个字符出现1次或者无限次,即至少有1次 res=re.match(’[a-zA-Z]+’,‘TTom’) print(res.group()) #匹配符合规范[规则是:不能以数字开头,只能包含字母、数字、下划线] result=re.match(’[a-zA-Z_]+[\w]*’,‘name’) print(result原创 2021-03-09 15:17:30 · 545 阅读 · 0 评论 -
贪婪模式和非贪婪模式
贪婪模式 #默认的匹配规则 #在满足条件的情况下尽可能多的去匹配到数据 import re rs=re.match(’\d{1,5}’,‘14785236’) print(rs.group()) #非贪婪模式 #在满足条件的情况下尽可能[少]的去匹配到数据 rs=re.match(’\d{1,5}?’,‘14785236’) print(rs.group()) con=‘aabbasbd’ pa=re.compile(‘a.*b’)#贪婪模式 pa=re.compile(‘a.*?b’)#非贪婪模式 res原创 2021-03-09 15:17:41 · 231 阅读 · 0 评论 -
匹配规则
import re #.点的使用 匹配规则是除了换行符之外的字符 data=‘aaaa’ # d=’.’ d=’…’ res=re.match(d,data) print(res.group()) names=‘to’,‘ta’,‘aa’,‘ab’ parrtern=‘t.’ for name in names: res=re.match(parrtern,name) if res: print(res.group()) #[]中括号的使用 匹配规则是:匹配中括号中的任意一个字符 str1=‘hello’原创 2021-03-09 15:17:58 · 400 阅读 · 0 评论 -
分组匹配
import re | 竖线匹配左右任意一个表达式 string=‘awd00’ res=re.match(’(awd|awd00)’,string) print(res.group()) (ab) 分组匹配将括号中字符作为一个分组 #匹配电话号码 XXXX-123456789 #^有两种含义1:以xxxx开头 2:否定取反 res=re.match(’([0-9])-(\d)’,‘0310-1934801322’) res=re.match(’([^-])-(\d)’,‘0310-1934801322’)原创 2021-03-09 15:18:09 · 1152 阅读 · 0 评论 -
re模块使用
import re strData=‘Python is the best language in the world’ #match只能匹配以xxx开头的子符串,第一个参数是正则,第二个参数是需要匹配的字符串 res=re.match(‘p’,strData) #res=re.match(‘p’,strData,re.I)#re.I参数表示忽略大小写 res=re.match(‘p’,strData,re.I|re.M)#多行匹配 res=re.match(’(.) is (.?).*’,strData,原创 2021-03-09 15:18:18 · 221 阅读 · 0 评论