這里我用的是終端傳值的方式,比如:python xxx.py "i am your friends" "am"
import re import sys arr = [] sentence = str(sys.argv[1]) word = str(sys.argv[2]) rr = re.compile(word, re.I) # 不區分大小寫 for match in re.finditer(rr, sentence): print(match) obj = {"start": match.start() + 1, "end": match.end(), "length": match.end() - match.start()} arr.append(obj) print(arr)
注意:
rr = re.compile(word, re.I) # 不區分大小寫
將匹配詞匯轉為正則形式的,可以匹配出各種詞匯。如果不把詞匯轉為正則,而是直接匹配,則匹配不到帶有特殊字符的字符串的位置。
匹配結果如下所示: