【发布时间】:2009-09-22 06:18:34
【问题描述】:
我正在用 Java 为 unicode 文本编写正则表达式。然而,对于我正在使用的特定脚本 - 梵文 (0900 - 097F),单词边界存在问题。 \b 匹配依赖元音的字符(如 093E-094C),因为它们被视为空格字符。
示例: 假设我有字符串:“कमल कमाल कम्हल कम्हाल” 请注意,第二个单词中的“मा”是由 म 和 ा(识别为空格字符)组合而成的。最后一句话也是如此。 这导致 \b 将 'कमाल' 中的 'ल' 与正则表达式 \b\w\b 匹配,根据语言,该正则表达式不正确。
我希望这个例子有所帮助。
我可以编写一个行为类似于 \b 的正则表达式,但它不匹配某些字符吗?任何反馈将不胜感激。
【问题讨论】:
-
添加了一个例子。我希望这是有道理的。
-
可以用[^](不在范围内)表达式来完成吗?
-
你应该把劳伦斯的回答当成官方回答:他是第一个回答的;)
-
完成。感谢大家的帮助:) Stackoverflow 摇滚!
标签: regex unicode word-boundary word-boundaries