Python的re模块正则式基本匹配匹配

(1) “\b”在正则表达式中表示单词的开头或结尾,空格、标点、换行都算是单词的分割
(2) “.”在正则表达式中表示除换行符以外的任意字符
(3) “*”表示任意数量连续字符,这种被称为通配符。但在正则表达式中,任意字符是用“.”表示,而“*”则不是表示字符,而是表示数量
(4)因为“*”在匹配时,会匹配尽可能长的结果(贪婪匹配)。如果你想让他匹配到最短的就停止,需要用“.*?”(懒惰匹配)
(5)数字匹配: \d  ,表示任意长度的数字可以用 [0-9]* 或 \d*   ,但是需注意*表示的任意长度包括 0,如果要限定长度,就用{}代替+,大括号里写上你想要的长度
text='site sea sue sweet see case sse ssee loses'
#匹配出所有 s 开头,e 结尾的单词。

data=re.findall(r'\bs.*?e\b',text)
print(data)
data1=re.findall(r'\bs\S*?e\b',text)
print(data1)

#匹配出11位数字的方法
text1="name 12345588855 hdsf"
data2=re.findall(r'[0-9]',text1) #[0-9]{11}
print(data2) #输出['1', '2', '3', '4', '5', '5', '8', '8', '8', '5', '5']

data3=re.findall(r'[0-9]*',text1)  #[0-9]改为\d也可以
print(data3)#输出 ['', '', '', '', '', '12345588855', '', '', '', '', '', '']

#想要再把第一位限定为 1,就在前面加上 1,后面去掉一位:1\d{10}如:data4=re.findall(r'1[0-9]{10}',text1) #[0-9]改为\d也可以

data4=re.findall(r'[0-9]+',text1)  #[0-9]改为\d也可以
print(data4) #输出['12345588855']

#匹配出11位数字的方法,如果要限定长度,就用{}代替+,大括号里写上你想要的长度
data3=re.findall(r'\d{11}',text1)  #\d改为[0-9]也可以
print(data3) #输出['12345588855']


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值