我想使用正则表达式突出显示新编程语言的功能,但我在排除具有“导出”一词的函数时遇到问题
所以
所以
好的行,我必须匹配的例子:
routine hello ROUTINE hello routine hello ROUTINE hello(a:INTEGER) routine hello (a : INTEGER) routine hello (a : INTEGER,b: STRING)
我不想匹配示例的行:
routine hello (a : INTEGER,b: STRING) exported
我试过了
^[[:blank:]]*routine[[:blank:]]+([[:alnum:]_])+[[:blank:]]*([[:alnum:]_:,[:space:]]*)/^(?!.*exported)$/
但它不起作用.
解决方法
以下表达式也可以解决问题:
^(?!.*exported).*$ |________________ line begin |_______________ negative lookahead |____________ any characters |__________ your exclusion word |_ any characters |_ end of line