正则表达式实践

2019-07-06  本文已影响0人  writ

测试文本:
入股很好,但是需要谨慎,如果能够依据工式:Y=AX+B获取你想要的结果(其中A取1,B取2),那么会有惊喜。有事请联系:17734090982,邮件:1892344552@163.com,QQ号码为84440559899,请登录www.crediton.xin查询具体信息,公司法人的身份证号为31457610099987234X。
时间:2019年06月18日
地点:浙江省西湖区阿里巴巴大厦
联系人:马云
python用法:
'''
import re
re.findall("[A-Z]","Hello World")
'''
所有的匹配字符都是匹配一个而不是匹配多个。
如果正则表达式中同时出现了^,$,那么就要匹配全部。

基本元字符分类:

匹配字符: '.', '\d', '\D', '\w', '\W', '\s', '\S', '[......]', '[^...]'
匹配重复:'*', '+', '?', '{n}', '{m,n}'
匹配位置: '^', '$' , '\A', '\Z', '\b', '\B'
其 他:‘|' '()' ''

正则表达式的转义

  1. 如果使用正则表达式匹配特殊字符,需要加 '' 表示转义
    2.raw字符串:在字符串前面加r,表示该字符串为raw字符串,这样的字符串不会进行字符串转义处理。
    贪婪模式: .* .+
    非贪婪模式: .?
    3.分组
    ()re.search()
    4.正则表达式匹配原则
    1.正确性 2.排他性 3.全面性
    5.(1) regex = re.compile(pattern,flags = 0)
    l = regex.findall(string,pos,endpos)
    (2) regex=re.compile(pattern,string)
    l = re.findall(string,pos=0,endpos=12)
    (3) s = re.sub(pattern,rel,string,count,flag=0)
    (4) s = re.split(r"s+","hello word")
    (5) s = re.finditer(pattern,string,flags)
    (6)obj = re.match(pattern,string,flags) 匹配开头
    (7) obj = re.search(pattern,string,flags) 只能匹配第一处
    (8)obj = re.fullmatch(pattern,string,flags)
    examples:
    1 匹配全部: re.findall('^$','this is a test too')
    2.匹配数字:re.findall('[1-9][0-9]
    '334209845')
    3.匹配邮箱:re.finall('\w*@
    4.匹配数字,字母,下划线 re.findall('\w+','addr:(port:129.268.98.10))
    5.匹配单词边界 re.findall(r'\bis\b','this is a test')
    6.匹配'is': re.findall('\bis\b','this is a test')
上一篇下一篇

猜你喜欢

热点阅读