正则表达式------元字符

1 篇文章 0 订阅

 普通字符:匹配每个普通字符对应的字符

In:re.findall('abc','abcfkabcjf')

Out:['abc','abc']

 或关系(' '):匹配|两侧任意的正则表达式即可

In:re.findall('com|cn','www.baidu.com|www.jd.cn')
Out:['com','cn']

匹配单个字符(' '):匹配除换行外的任意一个字符

In:re.findall('aa.c','aatc,aavc,aarc')
out:['aatc','aavc','aarc']

匹配字符集(' [字符集] '):匹配字符集中的任意一个字符

[adjfgtyu]:表示[]中的任意一个字符

[0-9] [a-z] [A-Z] 表示区间内的任意一个字符

[_#0-9a-z] 混合书写,一般区间表达写在后面

In:re.findall('[aeiou]','How are you')
Out:['o','a','e','o','u']

匹配字符集反集(' [^字符集] '):匹配除了字符集以外的任意一个字符

In:re.findall('[^0-9]','Use 007 port')
Out:['U','s','e',' ',' ','p','o','r','t']

匹配字符串开始位置(' ^ '):匹配目标字符串的开头位置

In:re.findall('^tom','tom,hello')
Out:['tom']

匹配字符串结束位置(' $ '):匹配目标字符串的结尾位置

In:re.findall('tom$','hi,tom')
Out:['tom']

^和$必然出现在正则表达式的开头和结尾处.如果两者同时出现,则中间的部分必须匹配整个目标字符串的全部内容.

匹配字符重复

(' * '):匹配前面的字符出现0次或多次

In:re.findall('wo*','woooow')
Out:['woooo','w']

(' + '):匹配前面的字符出现1次或多次

In:re.findall('[A-Z][a-z]+','Hello World')
Out:['Hello','World']

(' ? '):匹配前面的字符出现0次或1次

In:re.findall('-?[0-9]','tom,age:14,-53')
Out:['14','-53']

(' {n} '):匹配前面的字符出现n次

In:re.findall('1[0-9]{10}','tom:13526854652')
Out:['13526854652']

(' {m,n} '):匹配前面的字符出现m-n次

In:re.findall('[1-9][0-9]{5,10}','tom:601751652')
Out:['601751652']

匹配任意(非)数字字符

\d 匹配任意数字字符     \D 匹配任意非数字字符

In:re.findall('\d{1,5}','mysql:3306,http:80')
Out:['3306','80']

匹配任意(非)数字普通字符

\s 匹配普通字符     \S 匹配非普通数字字符

In:re.findall('\w+','server_port = 8888')
Out:['server_port','8888']

匹配(非)单词的边界位置

\b 表示单词边界    \B 表示非单词边界

In:re.findall(r'\bis\b','This is a test')
Out:['is']

单词边界是指数字字母(汉字)下划线或其他字符的交界位置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值