2011-08-01 106 views

回答

0

該示例中的代碼幾乎只是將搜索字符串作爲正則表達式,並用or運算符(|)替換空格。輸入的特殊字符將被誤解爲正則表達式運算符。就像代碼示例執行.Replace(" ", "|")一樣,您可以執行一系列替換(如.Replace("@", "\@"))以確保特殊字符在正則表達式中轉義,而不是解釋爲具有特殊含義。 我不確定你究竟是什麼,但你也可以追加「\ @」或你正在尋找的任何特殊的正則表達式。我假設你正在做一個類似於C++的代碼高亮器,你的正則表達式將是一個常量,而不是像你給出的例子那樣在搜索字符串中輸入。

0

那麼首先你需要弄清楚你的意思是「突出顯示任何字符」。

要突出顯示不是字母或數字的所有字符嗎?或者你想在C++的情況下突出顯示整個單詞?

一旦你得到了它,你可以使用正則表like this one找出合適的匹配正則表達式。

或者更好的是你可以重新使用像syntax-highlightergoogle-code-prettify

還有一個well-written article上codingthewheel.com,可能會對你有所幫助。