python中findall方法_python正则表达式中函数findall用法?

1.我的目标是匹配一个地址 ex:123 xuancheng anhui China

2.我给的正则表达式为:r'd+(s+[a-zA-Z]+)+s*'

代码如下:

pattern = r'\d+(\s+[a-zA-Z]+)+\s*'

basestr = '123 xuancheng china '

m1 = re.findall(pattern, basestr)

if m1 is not None:

print m1

得到的结果为 [' china']

这个是以圆括号的内容进行匹配的,我想要配置的是整句话,如何改造呢?

除了以下这个用法

pattern_2 = r'(d+(s+[a-zA-Z]+)+s*)'

返回

[('123 xuancheng china ', ' china')]

使用search 函数能得到想要的结果

m2 = re.search(pattern, basestr)

print m2.group()

得到:

123 xuancheng china

r'\d+(?:\s+[a-zA-Z]+)+\s*'

简单粗暴是这样的,请自己再修改。

bVJhfT?w=722&h=508

再修改一下是这样的

bVJhiX?w=834&h=524

提供的新的字符串也可以。

bVJhye?w=802&h=513

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd14031.html

相关文章 Recommend

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值