搜索用印地语(梵文)(UTF-16) 编写的文件时出现以下问题。
文件包含:
त्रास ततत जुग नींद ना हा बु
请注意,第一个字符“त्र”是 त + ् + र 的多个代码点 现在在搜索“त”时,我得到 4 个匹配项,包括第一个字符的 त。我正在使用 Java。
如何搜索不属于多个代码点字符的“त”。
任何帮助将不胜感激。 :)
最佳答案
我相信您可以使用 unicode 属性来做到这一点。
त(?!\p{M}+)
应该匹配 त 代码点,只要它后面没有跟 M 类别中的任何代码点,这些字符旨在与其他字符组合。它使用否定前瞻来做出该断言。
E: 如果这不能马上奏效,试试
\uxxxx(?!\p{M}+)
其中 xxxx 是 त 符号的代码点的编号。
关于java - 使用正则表达式搜索 unicode 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1328182/