首页 > 解决方案 > 正则表达式与给定的输入不匹配

问题描述

我想捕获以 NC 或 VSS 或包含 _5 或以 _2 结尾的任何字符串。下面是我建造的,但由于某种原因它不起作用

^(NC|VSS)(_5)+(_2)$

对于输入CLKOUT_SRC_N_2,尽管它以 _2 结尾,但它不匹配。我将 Reg Ex 更改为^(NC|VSS)|(_5)+|(_2)$然后CLKOUT_SRC_P_5匹配。这里 _5 在字符串的末尾。如果我需要在字符串中间的某个地方,我该如何修改字符串_5,因为我的 prob 语句不是在最后?

标签: regex

解决方案


根据您提供的示例和解释,我提出了以下正则表达式:

(^(NC|VSS)|.+(_5).+|(_2)$)

它相应地工作:https ://regex101.com/r/SHFJhG/1

如果我需要 _5 位于字符串中间的某个位置,我该如何修改字符串...

我在.+. 之后和之前添加了一个(_5),因此它保证我们应该在_5.


推荐阅读