我有一个字符串。例如:
s = "caption = #1081#1082#1083#1084', '#1087#1088 efiuefiu #23 3456"
我需要找到包含#和4位数的所有表达式,但我需要找到表达式#1081#1082#1083#1084
,而不是#1081
,#1082
,#1083
和{{1像这样分开。
这不起作用;它匹配单个表达式:
#1084
答案 0 :(得分:3)
您可以查找 #
的一个或多个事件,后跟4位数字:
In [1]: import re
In [2]: s = "caption = #1081#1082#1083#1084', '#1087#1088 efiuefiu #23 3456"
In [3]: re.findall(r'(?:#\d{4})+', s)
Out[3]: ['#1081#1082#1083#1084', '#1087#1088']
(?:...)
是非捕获组,有助于避免匹配所需模式的单个匹配项,而是“专注于更大的图片”。