python匹配字符串中,某個詞的位置


這里我用的是終端傳值的方式,比如: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)  # 不區分大小寫

將匹配詞匯轉為正則形式的,可以匹配出各種詞匯。如果不把詞匯轉為正則,而是直接匹配,則匹配不到帶有特殊字符的字符串的位置。

匹配結果如下所示:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM