regex - 正则表达式与给定的输入不匹配
问题描述
我想捕获以 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 语句不是在最后?
解决方案
根据您提供的示例和解释,我提出了以下正则表达式:
(^(NC|VSS)|.+(_5).+|(_2)$)
它相应地工作:https ://regex101.com/r/SHFJhG/1
如果我需要 _5 位于字符串中间的某个位置,我该如何修改字符串...
我在.+
. 之后和之前添加了一个(_5)
,因此它保证我们应该在_5
.
推荐阅读
- css - CSS 首字母和首字母
- gfortran - gfortran:默认包含搜索路径?
- javascript - 如何防止我的英雄区域中的文本为移动用户溢出?
- visual-c++ - 以编程方式以 vsd 格式保存 visio 2016 图表
- c++ - 用于输入流读取的类模板函数 - C++
- php - 如何在不替换链接的情况下使用 file_get_contents(url) 进行抓取
- javascript - 更改另一个数组内的数组内对象的对象属性
- java - “java.base/java.util.Scanner.throwFor(Scanner.java:939) 处的线程“主”java.util.InputMismatchException 中的异常”
- python - “枕头是在没有 XCB 支持的情况下构建的”
- html - 如何重复旋转?