首页 > 解决方案 > 基于第一个条目的正则表达式组匹配

问题描述

作为正则表达式匹配的一部分,我正在尝试根据第一个条目 dd-develop / dd 选择开发/产品。

例如。下面给出的代码总是匹配开发,无论第一个字符串条目是“dd-develop”还是“dd”。

我想根据第一个值确定第二个或第三个单词。

有任何想法吗 ?


正则表达式: (?(?=) (?:development) | (?:product))

文本: dd-develop development product.


标签: regex

解决方案


从外观上看,您正试图根据第一个词来决定是捕捉“开发”还是“产品”。这个正则表达式这样做:

(:?dd-develop .*(development).*)|(?:dd .*(product).*)

如果您的字符串以 开头dd-develop,则它捕获“开发”。如果它以 开头dd,则捕获“产品”。要扭转这种情况,只需切换捕获组中的单词。

在这里试试!


推荐阅读