正则表达式:可选组合表达式的最佳语法?

标签 regex

我想匹配可选的表达式组合。在此特定示例中,我想匹配单词 through。此外,如果单词 runswim 位于前面(带有空格),则匹配整个短语。因此之前的表达式组合必须是可选的。

我希望以下所有行都是正匹配:

swim through <-- match entire phrase
jump through <-- match entire phrase
hike through <-- match only the word "through"

为此,我可以使用以下表达式:

(jump\W|swim\W)?through

但是,是否可以在 jumpswim 后面添加 \W 来完成同样的事情?我正在尝试这样的事情:

(jump|swim)?\W?through

但这无法正常工作,因为它会包含第三个示例中之前的空格。我只想要单词through,而不是它周围的空白。

最佳答案

这个怎么样:(?:(jump|swim)\W)?through

关于正则表达式:可选组合表达式的最佳语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8855788/

相关文章:

java - 正则表达式捕获 : get only result from second group

regex - sed:在 [6 位数字] 和空格之后换行

javascript - String.match() 函数即使匹配也返回 null

javascript - Regex101 与 JavaScript String.match 分歧

javascript - 如何从 12 位数字的开头获取所有文本并使用正则表达式对它们进行分组

java - 正则表达式 - 获取两个注释之间的代码

regex - 每隔一次出现一次匹配

c# - 检查结果中是否存在正则表达式组

java - 使用正则表达式检查URL是否包含任何参数

regex - 如何在vim中获取两个命令之间的字符串