首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正则表达式匹配没有特定单词的行

正则表达式匹配没有特定单词的行
EN

Stack Overflow用户
提问于 2013-05-15 18:50:28
回答 2查看 5.3K关注 0票数 9

我想使用正则表达式来突出显示一种新编程语言的函数,但是我在排除包含单词"exported“的函数时遇到了一个问题,因此

好的,我必须匹配示例:

代码语言:javascript
运行
复制
routine hello
ROUTINE hello
   routine hello
   ROUTINE hello(a:INTEGER)
   routine hello (a   :  INTEGER)
   routine hello (a   :  INTEGER , b: STRING)

我不想匹配示例的行:

代码语言:javascript
运行
复制
   routine hello (a   :  INTEGER , b: STRING) exported

我试过了

代码语言:javascript
运行
复制
^[[:blank:]]*routine[[:blank:]]+([[:alnum:]_])+[[:blank:]]*([[:alnum:]_:,[:space:]]*)/^(?!.*exported)$/

但它不起作用。

EN

回答 2

Stack Overflow用户

发布于 2014-12-16 17:15:00

下面的表达式也可以做到这一点:

代码语言:javascript
运行
复制
^(?!.*exported).*$

|________________   line begin 
 |_______________   negative lookahead
    |____________   any characters
      |__________   your exclusion word
               |_   any characters
                 |_ end of line
票数 13
EN

Stack Overflow用户

发布于 2013-05-15 19:00:04

您可以使用这样的表达式来匹配不包含单词“exported”的所有行:

代码语言:javascript
运行
复制
(?m)^(?!.*\bexported\b).*$
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16563112

复制
相关文章

相似问题

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