2012-04-05 122 views
2

我想在我的正則表達式中使用Unicodes。我可以在正則表達式引擎dk.brics.automaton中使用Unicodes嗎?

例如,RegExp =「\ u0061」與「a」匹配。但似乎dk.brics.automaton不支持這一點。原來,匹配「u0061」。我也試過RegExp =「\ u0061」和RegExp =「\\ u0061」。沒有人會工作。

如果您對此工具有任何經驗,請給我一些解決方案?

謝謝!

回答

1

最後,我找到了一種方法來規避這個問題。

首先,我們可以在Java代碼中使用Unicodes,但它必須單獨創建。例如。 String str = "\u0061"+"b";雖然String str = "\u0061b";不能正常工作。其次,如果我們想從文本文件中讀取字符串,如test.txt包含「\u0061b\u0063」,我們必須(據我所知)手動替換Unicodes與相應的符號,因爲它們是混合的。然後我們可以得到String str的值「abc」。

0

我沒有經驗dk.brics.automaton,但我想寄託都在FAQJavaDoc for the RegExp Class說。

據我所知,你可以使用unicode字符,但你必須表達它們爲字符(「a」),而不是用\u0061表示法。

+0

謝謝,飛濺。在與該工具的作者聯繫後,我意識到也許我應該專注於Java中的解決方案。然後我測試了RegExp =「b」+「\ u0061」,它的工作原理。訣竅是應該單獨創建「\ u0061」,而不是像「b \ u0061」。然後剩下的問題是如何使這個工具從文本文件中讀取「b」+「\ u0061」。 – JackWM 2012-04-07 12:08:57

相關問題