嘿伙计们我正在弹出一个'无效语法'并突出显示'?'在我的代码中。的?是前瞻功能的元字符,但我不知道为什么它不起作用。这是我的代码:
import os
import re
def main ():
file = open (os.path.expanduser('~/Desktop/Assignment 3/motifFinding.txt'))
data = file.read().split()
s = data[0]
t = data[1]
x = [m.start() for m in re.finditer(?=t,s)]
print (x)
main()
请帮忙!
非常感谢
P.S。我正在使用Mac
答案 0 :(得分:1)
看起来你正试图以某种方式使用变量t进行前瞻('(?=...)'
)。前瞻组由括号组成,括号在左括号后面有?=
。
请记住,字符串需要用引号括起来,但变量必须在字符串之外。
如果t
表示您正在尝试预测的正则表达式,则可以使用字符串连接将其置于前瞻组('(?=THIS THING)'
)中。示例:'(?=' + t + ')'
。