繁体   English   中英

用javascript正则表达式单词边界排除完整单词

[英]exclude full word with javascript regex word boundary

我希望排除包含特定单词或短语的匹配项。 例如,我怎么能只匹配第 1 行和第 3 行? \\b单词边界不像我预期的那样直观地工作。

foo.js            # match
foo_test.js       # do not match
foo.ts            # match
fun_tset.js       # match
fun_tset_test.ts  # do not match

更新

我想排除的是在扩展名之前明确以_test结尾的字符串。 起初我有类似[^_test]东西,但这也排除了这些字符的任何组合(如第 3 行)。

正则表达式: ^(?!.*_test\\.).*$

工作示例: https : //regex101.com/r/HdGom7/1

工作原理:使用负前瞻来检查_test. 存在于字符串中的某处,如果存在则不匹配。

添加到@pretzelhammer 的答案中,您似乎想要获取以 ts 或 js 结尾的文件名字符串:

^(?!.*_test)(.*\.[jt]s)

第一个括号中的表达式是一个否定前瞻,排除任何带有_test字符串,第二个括号匹配任何以句点结尾的字符串,后跟[jt] (j 或 t),然后是s

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM