测试文本:
入股很好,但是需要谨慎,如果能够依据工式: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'
其 他:‘|' '()' ''
正则表达式的转义
- 如果使用正则表达式匹配特殊字符,需要加 '' 表示转义
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')
网友评论