【发布时间】:2021-04-26 12:25:18
【问题描述】:
我有许多正则表达式模式和文本,我需要在其上匹配模式。
最简单的方法,我可以通过 for 循环遍历它们并检查谁匹配。 但在我看来,这是无效的。 我试图将所有模式连接成一个模式(使用或运算符)
我的正则表达式:
/image/(\d+)
/report/(\d+)/(\d+)/(\d+)
到
(?P<match1>/image/(\d+))|(?P<match2>(/report/(\d+)/(\d+)/(\d+)))
它有效,但是我需要检查 match1 或 match2 是否不是“无”,我想知道是否有办法通过查找表来改进它。
谢谢
【问题讨论】:
-
听起来好像不需要命名的捕获组。事实上,您不需要任何捕获组:
/image/\d+|/report/\d+/\d+/\d+ -
您的正则表达式的目的是验证或提取数据吗?
-
验证数据
-
好的,所以我的评论是相关的。
-
我需要,因为我想知道哪个模式匹配