【发布时间】:2009-08-12 06:46:22
【问题描述】:
我对正则表达式完全绝望了……
我有一个名为 #addButton 的 Velocimacro,我有一个名为 addButton() 的 JS 函数。现在我想找到所有调用 JS 函数的地方。所以我需要搜索“addButton”,其中“addButton”不以哈希键开头。
有什么想法吗?
【问题讨论】:
标签: regex
我对正则表达式完全绝望了……
我有一个名为 #addButton 的 Velocimacro,我有一个名为 addButton() 的 JS 函数。现在我想找到所有调用 JS 函数的地方。所以我需要搜索“addButton”,其中“addButton”不以哈希键开头。
有什么想法吗?
【问题讨论】:
标签: regex
我不知道 Velocimacro 是什么(从另一个答案来看,我猜“addButton”会出现在自己的行上?),但是找到 @ 之前没有的“addButton”这个词的可靠方法987654326@如下:
/(?<!#)\baddButton\b/
它会:
(?<!#)(?)
#(井号)\b(?)
addButton(?)
\b(?)
这个正则表达式和另一个不同的是,这个正则表达式不会消耗“addButton”之前的字符。
学习正则表达式的好资源是regular-expressions.info。单击上面列表中的 (?) 链接可获取指向该部分正则表达式的相关页面的链接。
【讨论】:
/([^#]|^)addButton/
它将匹配“addButton”不前面有“#”或字符串开头的每个字符串。
【讨论】:
/(?:^|[^#])addButton/