如何从匹配字符串中获取多个子字符串?
How to get multiple substrings from a matching string?
我正在尝试从字符串中提取一些文本,我需要在其中使用二级匹配。
我有一个像
这样的字符串
s="Text_1 is abc: and Text_2 is def: also Text_3 is ghi:"
结果应该是 Text_x 内容的列表,例如
result = ['abc', 'def', 'ghi']
有没有办法使用方括号或类似于
的单个match/search来使用它
x= re.compile('Text_\d (\w+)\:')
l = x.match(s)
我无法正确解决它。
我正在使用 python 3.9
我们可以在这里尝试使用 re.findall
:
s = "Text_1 is abc: and Text_2 is def: also Text_3 is ghi:"
matches = re.findall(r'\bText_\d+ is (\w+(?: \w+)*):', s)
print(matches) # ['abc', 'def', 'ghi']
我正在尝试从字符串中提取一些文本,我需要在其中使用二级匹配。
我有一个像
这样的字符串 s="Text_1 is abc: and Text_2 is def: also Text_3 is ghi:"
结果应该是 Text_x 内容的列表,例如
result = ['abc', 'def', 'ghi']
有没有办法使用方括号或类似于
的单个match/search来使用它 x= re.compile('Text_\d (\w+)\:')
l = x.match(s)
我无法正确解决它。
我正在使用 python 3.9
我们可以在这里尝试使用 re.findall
:
s = "Text_1 is abc: and Text_2 is def: also Text_3 is ghi:"
matches = re.findall(r'\bText_\d+ is (\w+(?: \w+)*):', s)
print(matches) # ['abc', 'def', 'ghi']