我想用正则表达式me_start:
捕获以下me_start: ([\s\S]{1,})(?:end_1|end_2|end3)
模式之后的单词,直到找到该OR列表中描述的单词。但是它可以以其他方式工作,并且可以捕获最长的组。
示例:
me_start: cat end_1 dog end_2
在这句话中,我想捕获cat
个单词,但它捕获cat end_1 dog
个单词。
如何以我需要的方式制作
我想用正则表达式me_start:
捕获以下me_start: ([\s\S]{1,})(?:end_1|end_2|end3)
模式之后的单词,直到找到该OR列表中描述的单词。但是它可以以其他方式工作,并且可以捕获最长的组。
示例:
me_start: cat end_1 dog end_2
在这句话中,我想捕获cat
个单词,但它捕获cat end_1 dog
个单词。
如何以我需要的方式制作
将{1,}
贪婪量词更改为非贪婪版本{1,}?
:
>>> re.match(r'me_start: ([\s\S]{1,}?)(?:end_1|end_2|end3)','me_start: cat end_1 dog end_2').groups()
('cat ',)
使结果RE匹配m个到n个重复 RE之前,尝试匹配尽可能少的重复。这个 是前一个限定词的非贪婪版本。例如,在 6个字符的字符串'aaaaaa',a {3,5}将匹配5个'a'字符, 而{3,5}?只能匹配3个字符。