先行函数语法错误(正则表达式)
Lookahead function syntax error (Regex)
大家好,我收到一个 'invalid syntax' 弹出窗口,它突出显示了 '?'在我的代码中。这 ?是前瞻函数的元字符,但我不知道为什么它不起作用。这是我的代码:
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
您似乎正试图以某种方式使用变量 t 进行前瞻 ('(?=...)'
)。前瞻组由括号组成,括号紧跟在左括号之后 ?=
。
请记住,字符串需要用引号括起来,但变量需要在字符串之外。
如果 t
表示您尝试向前看的正则表达式,您可以使用字符串连接将其放入您的向前看组 ('(?=THIS THING)'
) 中。示例:'(?=' + t + ')'
.
大家好,我收到一个 'invalid syntax' 弹出窗口,它突出显示了 '?'在我的代码中。这 ?是前瞻函数的元字符,但我不知道为什么它不起作用。这是我的代码:
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
您似乎正试图以某种方式使用变量 t 进行前瞻 ('(?=...)'
)。前瞻组由括号组成,括号紧跟在左括号之后 ?=
。
请记住,字符串需要用引号括起来,但变量需要在字符串之外。
如果 t
表示您尝试向前看的正则表达式,您可以使用字符串连接将其放入您的向前看组 ('(?=THIS THING)'
) 中。示例:'(?=' + t + ')'
.