我用正則表達式徹底無望啓動...正則表達式:查找字符串不與X
我有一個名爲Velocimacro的#addButton
,我有一個JS函數命名addButton()
。現在我想查找調用JS函數的所有地方。所以我需要搜索「addButton」,其中「addButton」不是以散列鍵開頭。
任何想法?
我用正則表達式徹底無望啓動...正則表達式:查找字符串不與X
我有一個名爲Velocimacro的#addButton
,我有一個JS函數命名addButton()
。現在我想查找調用JS函數的所有地方。所以我需要搜索「addButton」,其中「addButton」不是以散列鍵開頭。
任何想法?
/([^#]|^)addButton/
將其中「Add按鈕」是不通過「#」或字符串的開頭之前每個字符串相匹配。
我不知道Velocimacro是什麼(從其他答案判斷,我猜「addButton」會出現在它自己的行上?),但是找到單詞「addButton」的確定方法並不是先行的#
如下:
/(?<!#)\baddButton\b/
它會:
(?<!#)
(?)
#
(哈希標記)preceeded\b
(?)
addButton
(?)
\b
(?)
與此正則表達式的區別,另一個是,這個人會不會消耗「addButton」之前的字符。
學習正則表達式的好資源是regular-expressions.info。點擊上面列表中的(?)鏈接,查看該正則表達式相關頁面的鏈接。
出色的答案。謝謝! (:我只是在Eclipse中進行正則表達式搜索,所以消費角色並不重要。(順便說一句,Velocimacro就像Velocity(開源模板語言)中的一個函數,你可以像普通函數那樣調用它們,只有Velocity中的每個命令都以散列鍵開頭) – peirix 2009-08-12 10:00:40
謝謝,我怎麼說「不匹配# ,如果後面跟着任意數量的空格?「 – 2016-05-06 09:18:13
或者爲了使它更健壯一些(以便它會匹配字符串的開頭),'/(?:^ | [^#])addButton /' – Amber 2009-08-12 06:50:38
真棒! ...我想我應該投入一些時間在正則表達式...它只是不斷彈出到處... – peirix 2009-08-12 06:51:48