Regex只在文本开头匹配字符串



我只想在change_title的开头匹配change://problem/,而不是在那之后,有人能提供如何修复此正则表达式的指导吗?

import re
change_title = ' <change://problem/62678646> [Cloned from other]: test change information data change://problem/59442345 with lots of AP data'
changelist = re.findall(".*?s*S*(?:change://(?:problem/)?)(d{8})", change_title)
print('changelist %s'%changelist)

电流输出:-

changelist ['62678646', '59442345']

预期输出:-

changelist ['62678646']

试试这个

import re
change_title = ' <change://problem/62678646> [Cloned from other]: test change information data change://problem/59442345 with lots of AP data'
changelist = re.findall("change://problem/(d{8})>", change_title)
print('changelist %s'%changelist)

您可以在此处验证结果:https://www.programiz.com/python-programming/online-compiler/

Regex可以做得更短:

changelist = re.findall(".+(d{8})>", change_title)

最新更新