我正在尝试创建一个正则表达式,它将匹配以下语句:
steal stealer photograph photographer
但不能匹配:
steale photographe
我尝试了下面的RustExp,但是重复只针对R而不是E:
(steal|photograph)(er?)
pcww981p1#
只需将?移动到括号的外部,使其应用于整个组,而不仅仅是r字符:
?
r
(steal|photograph)(er)?
(Playground)请注意,如果您不打算捕获任何一个组的内容,则可以将它们更改为非捕获组,这可以提高性能,因为不需要提取组匹配:
(?:steal|photograph)(?:er)?
1条答案
按热度按时间pcww981p1#
只需将
?
移动到括号的外部,使其应用于整个组,而不仅仅是r
字符:(Playground)
请注意,如果您不打算捕获任何一个组的内容,则可以将它们更改为非捕获组,这可以提高性能,因为不需要提取组匹配: