我正在写一个jQuery插件来突出显示我的网页上的C++代码。我对RegEx并不太满意,所以我无法弄清楚如何突出显示关键字(如'if','case','void'等)而不突出显示部分文字(如'int' '涂料')。我改变了一下,但有些东西仍然没有被突出显示。这是我的正则表达式是什么样子:JavaScript正则表达式语法高亮
str = str.replace(new RegExp("([' ' || \t ||,|| \"\"])(" + ParserKeywordsArr[i] + ")", 'g'), "$1<span style='color:" + ParserColorsArr[i] + ";'>" + ParserKeywordsArr[i] + "</span>");
这又通过每一个我想强调的关键字,存储在一个数组,那里有与另一种颜色的阵列(防爆ParserKeywordsArr [0]是无效的,ParserColorsArr [ 0]是蓝色的,所以它会以蓝色突出显示)。但是,当我把这样的东西:
void CCodeEditorCtrl::OnPaint(WPARAM wParam, LPARAM lParam)
{
return;
}
返回得到突出显示,但无效不。我不知道如何告诉RegEx“如果它的第一个单词就行了,它匹配一个关键词,高亮它”
你需要在这个项目中使用正则表达式... – Jivings 2012-01-27 22:00:00