我正在尝试匹配一行w /“function”后跟“insert”作为整个单词,不之间有“$”。这意味着它应匹配
function static insert()
但不是
function insertRecord($insert)
我已经尝试过负面前瞻/后面,例如:
function.*(?!\$).*\binsert\b
但没有。
我一直在Ubuntu 15.10上的grep 2.6.3和PhpStorm上尝试这个(后者我减少了库存)。是的,我一直把我的正则表达式用于grep的单引号。我也尝试https://www.regex101.com,似乎同意,我使用这个错误。我甚至在测试站点上尝试过缩写版本,但我不知道
的哪个部分function.*(?!\$)
它不明白。
我所有实验中一直存在的问题是,它一直在“插入”之前的“$”行上打击。
答案 0 :(得分:2)
试试这个:
function[^$]*\binsert\b
这只是使用一个否定的字符类[^$]
来限制不允许任何美元符号之间的字符。
您已经发现在“插入”周围需要单词边界\b
。