我想在我的正則表達式中使用Unicodes。我可以在正則表達式引擎dk.brics.automaton中使用Unicodes嗎?
例如,RegExp =「\ u0061」與「a」匹配。但似乎dk.brics.automaton不支持這一點。原來,匹配「u0061」。我也試過RegExp =「\ u0061」和RegExp =「\\ u0061」。沒有人會工作。
如果您對此工具有任何經驗,請給我一些解決方案?
謝謝!
我想在我的正則表達式中使用Unicodes。我可以在正則表達式引擎dk.brics.automaton中使用Unicodes嗎?
例如,RegExp =「\ u0061」與「a」匹配。但似乎dk.brics.automaton不支持這一點。原來,匹配「u0061」。我也試過RegExp =「\ u0061」和RegExp =「\\ u0061」。沒有人會工作。
如果您對此工具有任何經驗,請給我一些解決方案?
謝謝!
最後,我找到了一種方法來規避這個問題。
首先,我們可以在Java代碼中使用Unicodes,但它必須單獨創建。例如。 String str = "\u0061"+"b";
雖然String str = "\u0061b";
不能正常工作。其次,如果我們想從文本文件中讀取字符串,如test.txt包含「\u0061b\u0063
」,我們必須(據我所知)手動替換Unicodes與相應的符號,因爲它們是混合的。然後我們可以得到String str
的值「abc」。
我沒有經驗dk.brics.automaton,但我想寄託都在FAQ和JavaDoc for the RegExp Class說。
據我所知,你可以使用unicode字符,但你必須表達它們爲字符(「a」),而不是用\u0061
表示法。
謝謝,飛濺。在與該工具的作者聯繫後,我意識到也許我應該專注於Java中的解決方案。然後我測試了RegExp =「b」+「\ u0061」,它的工作原理。訣竅是應該單獨創建「\ u0061」,而不是像「b \ u0061」。然後剩下的問題是如何使這個工具從文本文件中讀取「b」+「\ u0061」。 – JackWM 2012-04-07 12:08:57