Python正则表达式不将字符串与符号匹配

时间:2019-01-08 10:14:17

标签: python-2.7

我有一个正则表达式检查与文件中的某些单词匹配。我已经检查了文件,因此可以肯定地知道这些字符串在其中,但是正则表达式找不到它们。

我尝试了带有和不带有单词边界的原始字符串,以及转义符号。当我不使用单词边界时,字符串会匹配,但是它也会匹配其他不应出现的东西。我认为可能与符号是字符串的开头有关。

line = "Superuser.apk, /sbin/su, /su/bin/su, /su/fake/test"

wordlist = [Superuser.apk','com.topjohnwu.magisk','\/system\/bin\/su','\/system\/xbin\/su','\/sbin\/su','\/system\/su','\/su\/bin\/su']

complist = []

for word in wordlist:
        complist.extend([re.compile(r'\b%s\b' % word)])
        #complist.extend([re.compile(word)])

for lv in complist:
        match = lv.findall(line, re.IGNORECASE)

我希望前3个匹配项,但第4个匹配。 当前,它将仅匹配“ Superuser.apk”

编辑:更多测试表明,如果我的单词列表中包含bin/su而没有前导正斜杠,则可以找到它。因此,这些符号不匹配。 我需要解决其他匹配的模式,例如:///*时,如何解决此问题以匹配符号。

0 个答案:

没有答案