【发布时间】:2011-11-30 20:54:08
【问题描述】:
我想编写一个匹配 2 个模式中的 1 个的条件正则表达式。
为此,我有一个简单的条件:
/((pattern1)|(pattern2))/gi
问题是,在模式 1 中,我可能有多个捕获组 - 假设其中 3 个,但在模式 2 中,我有 5 个。
我如何知道匹配的 2 个模式中的哪一个?我需要能够为我的输出请求正确的捕获组(按数量)。
我想在我的示例中,您可以检查是否存在任何大于 3 的捕获组值,但假设我在每个模式中都有相同数量的捕获组。我认为必须有一个好方法来做到这一点——我正在使用 PHP 或 JavaScript。如果需要更多详细信息,请告诉我。
提前致谢!
【问题讨论】:
-
为什么不只使用两个正则表达式 =D
-
这不是条件,而是交替。
标签: php javascript regex