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

时间:2012-01-13 19:03:25

标签: regex

我希望匹配可选的表达式组合。在这个具体示例中,我希望匹配单词。此外,如果单词运行游泳先于(使用空格),则匹配整个短语。因此,之前的表达式组合必须是可选的。

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

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

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

(jump\W|swim\W)?through

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

(jump|swim)?\W?through

但是这样做不正常,因为它会包含第3个例子中之前的空间。我只想要这个词,而不是它周围的空白。

1 个答案:

答案 0 :(得分:3)

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