首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >除了一个特定的词,一切都匹配

问除了一个特定的词,一切都匹配
EN

Stack Overflow用户
提问于 2011-09-23 14:18:29
回答 2查看 141关注 0票数 2

我有这样的判断力

代码语言:javascript
复制
.*js/[\bpackaged\b]+\.js

目前,它与下面列表中的“packaged.js”匹配:

  • js/foo.js
  • js/bar.js
  • js/suitcase.js
  • js/bootstrap.js
  • js/packaged.js

我如何将其反转,使其与除“Packaged.js”之外的其他所有其他内容相匹配?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-23 14:27:39

代码语言:javascript
复制
kent$  echo "    js/foo.js
    js/bar.js
    js/suitcase.js
    js/bootstrap.js
    js/packaged.js
"|grep -P '.*js/.*(?<!packaged).js'

    js/foo.js
    js/bar.js
    js/suitcase.js
    js/bootstrap.js

这个例子只是显示表达式,如果您真的使用grep,-v可以使它更容易。

--根据的评论更新--

注意输入中的最后5行:

代码语言:javascript
复制
 kent$  echo "    js/foo.js
    js/bar.js                                                                                                                            
    js/suitcase.js                                                                                                                       
    js/bootstrap.js                                                                                                                      
    js/packaged.js
    js/foo_packaged.js
    js/packaged_bar.js
    js/foo_packaged_bar.js
    js/_packaged.js
    js/packaged_.js"|grep -P '.*js/(.+packaged\.js|.+(?<!packaged)\.js)'   

产出:

代码语言:javascript
复制
    js/foo.js
    js/bar.js
    js/suitcase.js
    js/bootstrap.js
    js/foo_packaged.js
    js/packaged_bar.js
    js/foo_packaged_bar.js
    js/_packaged.js
    js/packaged_.js
票数 3
EN

Stack Overflow用户

发布于 2011-09-23 20:51:14

这做你想做的事:

代码语言:javascript
复制
.*js/(?!packaged\.js).+\.js
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7530443

复制
相关文章

相似问题

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