首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >排除带有javascript regex单词边界的完整单词

排除带有javascript regex单词边界的完整单词
EN

Stack Overflow用户
提问于 2018-10-06 19:30:28
回答 2查看 55关注 0票数 1

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

代码语言:javascript
复制
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行)。

EN

回答 2

Stack Overflow用户

发布于 2018-10-07 01:13:42

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

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

工作原理:使用负向先行检查_test.是否存在于字符串中的某个位置,如果存在,则不匹配。

票数 2
EN

Stack Overflow用户

发布于 2021-02-15 03:28:22

再加上@椒盐锤的答案,看起来你想要抓取文件名以ts或js结尾的字符串:

代码语言:javascript
复制
^(?!.*_test)(.*\.[jt]s)

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52678585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档