首頁  >  問答  >  主體

Python正则表达式多组匹配

阿神阿神2761 天前806

全部回覆(2)我來回復

  • 黄舟

    黄舟2017-04-17 15:16:00

    search的功能是: 從左到右,去計算是否匹配,如果有匹配,就返回。 即只要找到匹配,就返回了。 所以,最多只會匹配一個, 而不會匹配多個。
    findall可以全部匹配。

    #!/usr/bin/python
    # -*- coding: utf-8 -*- 
    
    import re
    
    str = 'xiaohong loves xiaoming,xiaozhu loves xiaoli,xiaopeng loves xiaozhao'
    
    names = re.findall(r'(\S+) loves (\S+)(,|$)',str, re.I)
    
    print names
    
    if names:
        for group in names:
            print group[0], group[1]
    

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-17 15:16:00

    應使用 find_all()

    回覆
    0
  • 取消回覆