2014-01-08 219 views
0

我正在處理大會的納米顏色代碼。正則表達式除字母之外

我只是這個(僅包括EAX和EBX因爲有幾十人):

color brightcyan "(eax|ebx)" 

然而,他們可能會在其他諸如「徘徊」被突出顯示,其中「ESI」是有顏色的青色。

然後我用這個:

color brightcyan "(\ |\[|\+|\-|\]\*")(eax|ebx)" 

其中的作品,但變成其他sybols青色,當我在另一種顏色(如[)有他們。但是,如果不包含字母數字字符,我只希望它變成藍色。任何其他符號不應妨礙着色,也不應着色。

回答

3

嘗試"\b(eax|ebx)\b"。只有在不包含字母數字字符或_的情況下才會匹配。

+0

擊敗我23秒,但你的字符串是錯誤的:P –

+0

修復'eax'位。 –

3

你有一些選擇。

最簡單的是使用單詞邊界標記\b

\b(eax|ebx)\b 

僅當它形成一個完整的單詞時纔會匹配eax或ebx。 請注意,這並不完全符合您的要求,因爲它會查找單詞和非單詞字符之間的區別,而不是字母數字和非字母數字之間的區別。所以我的建議不匹配的情況下,「_eax」