当您在python正则表达式中使用变量(是正确的单词吗?)时,例如:“blah(?P\w +)”(“value”将是变量),如何使变量的值成为“等到行的末尾或某个字符,而不注意变量的实际内容。例如,这是我想要的伪代码:
>>> import re
>>> p = re.compile("say (?P<value>continue_until_text_after_assignment_is_recognized) endsay")
>>> m = p.match("say Hello hi yo endsay")
>>> m.group('value')
'Hello hi yo'
注意:标题可能无法理解。那是因为我不知道怎么说。对不起,如果造成任何困惑。
最佳答案
为此,您需要一个正则表达式
"say (?P<value>.+) endsay"
句点与任何字符匹配,并且加号表示应重复一次或多次。因此
.+
表示一个或多个字符的任何序列。当您将endsay
放在末尾时,正则表达式引擎将确保其匹配项实际上以该字符串结尾。