findall 函式

  1. 範例:findall 函式找正規表示式匹配的所有字串並存成 list 回傳,將範例 re1.py 的 mo2 由 match 改成 findall,就可以找到字尾是 abc 的字串了。
    [dywang@deyu zzz]$ cat re-findall.py
    #!/usr/bin/python3
    import re, sys
    
    str = sys.argv[1]
    mo1 = re.match( r'^word', str, re.I)
    mo2 = re.findall( r'abc$', str, re.I)
    mo3 = re.match( r'w.*', str, re.I)
    mo4 = re.match( r'[wd]', str, re.I)
    mo5 = re.match( r'[^wd]', str, re.I)
    if mo1: print('1. ^word :', mo1.group())
    if mo2: print('2. abc$ :', mo2)
    if mo3: print('3. w.* :', mo3.group())
    if mo4: print('4. [wd] :', mo4.group())
    if mo5: print('5. [^wd] :', mo5.group())
    
  2. 執行結果:行尾 abc 的字串可以找到了。
    [dywang@deyu zzz]$ ./re-findall.py "word abc"
    1. ^word : word
    2. abc$ : ['abc']
    3. w.* : word abc
    4. [wd] : w