2014-01-08 225 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”