我有一个函数,它接受正则表达式,然后对目标字符串执行正则表达式匹配。在python中,正则表达式必须以“r”作为前缀。我不能那样做。你知道吗
r^[a-zA-Z0-9]{3}_TREE is what I want to get. My function receives '^[a-zA-Z0-9]{3}_TREE'
如果我这样做了
'r'+ '^[a-zA-Z0-9]{3}_TREE' then it 'r' also becomes string which is not.
你能帮帮我吗?你知道吗
但是我的正则表达式没有转义序列,所以使用r并不重要,但是我看到了另一个问题。如果我在match语句中对regex进行硬编码,它就工作了,但是如果我调用函数并将其作为字符串接收,然后在函数中使用它,它就不工作了。我做错什么了?你知道吗
只需像普通函数一样传递参数就可以了,因为'r'前缀声明了一个原始字符串,它只是转义反斜杠并转换为普通的
str
类型。你知道吗对于这个特殊的例子,实际上不需要“r”。 试试看
是的,我同意我不需要“r”,因为我没有逃逸反睫毛。当我调用具有match()函数的函数时,我传递“^[a-zA-Z0-9]{3}\u TREE”。在函数中,当我收到它并打印时,我得到\^[a-zA-Z0-9]{3}\u ECOLI(前面加了一个反斜杠) 为什么会这样?你知道吗
相关问题 更多 >
编程相关推荐