Python 前瞻函数语法错误(Regex)
嘿,伙计们,我看到一个“无效语法”弹出,它突出显示了我代码中的“?”。这个是前瞻函数的元字符,但我不知道为什么它不起作用。这是我的密码:Python 前瞻函数语法错误(Regex),python,regex,python-3.x,syntax-error,syntax-highlighting,Python,Regex,Python 3.x,Syntax Error,Syntax Highlighting,嘿,伙计们,我看到一个“无效语法”弹出,它突出显示了我代码中的“?”。这个是前瞻函数的元字符,但我不知道为什么它不起作用。这是我的密码: 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]
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()
请帮忙
多谢各位
另外,我正在使用Mac似乎您正试图以某种方式使用变量t进行前瞻(
'(?=…)'
)。前瞻组由在右括号后面有一个?=
的括号组成
请记住,字符串需要用引号括起来,但变量需要在字符串之外
如果
t
表示一个您正试图向前看的正则表达式,则可以使用字符串连接将其放入向前看组(“(?=THIS)”
)。示例:“(?=”+t+)”
简单的印刷错误:您没有在正则表达式周围加引号。您好,我在“?=t”周围加了引号,但出现了错误,我没有在字符串s中查找小t。t是手册的一个子串:我确实看了,但我不明白你的意思。下面的人回答了我的问题!非常感谢你,我只想知道这些。我理解其中的逻辑,但我只是不理解在它周围加引号。这解释了这么多,我只是尝试了我的代码,它的工作!非常感谢你。