Rizzo Yang 2021-10-21 21:01 采纳率: 100%
浏览 18
已结题

python正则re模块的group

在写正则的时候,取出的结果用group属性显示出来是完整的字符串,用type函数检测也得出结果是字符串类型,但是为何使用group(num)的时候取到的不是按照字符串的索引取到的值呢?

str = 'python is the best langusge' 
res = re.match('(.*) is (.*?) .*', str)
print(res.group())
print(type(res.group()))

得到的结果是python is the best language
但是使用res.group(1)的时候得到的结果是'python',为什么不是按照字符串的索引取值呢?

  • 写回答

1条回答 默认 最新

  • 辉煌仪奇 2021-10-22 00:05
    关注

    你的正则匹配规则是获取字符串 空格is空格 前面所有的字符串和 空格is空格后面下一个空格前面 所有的字符串,你在前面加一个helloword一样能在res.group(1)中取出来,第二个匹配出来的字符串是 the 随后就再也没有匹配出来的字符串了
    如果你想按照你的方法匹配后获得索引取值,可以用

    datalist=res.groups()
    datalist[0]
    datalist[1]
    

    ,如果你想提取英文字母,可以使用下面这个

    re.findall('[A-Za-z]+',str)
    

    如果你想匹配单个字母可以使用这个

    print(re.findall('[A-Za-z]',str))
    

    有帮助请点击右上角采纳,有问题继续交流,你的采纳是对我回答的最大的肯定和动力

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月30日
  • 已采纳回答 10月22日
  • 创建了问题 10月21日

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?