java - 在正则表达式解析中处理 Unicode 单词

标签 java android regex string unicode

我正在尝试获取一种印度语言(孟加拉语)中特定单词之前的所有单词。该技术对于英语非常有效,但对于孟加拉语却失败了:

Pattern p = Pattern.compile("([\\w\\s]+) ছবি", Pattern.UNICODE_CASE);
Matcher m = p.matcher("ক্যামেরাকে ছবি তোলা এবং ভিডিও রেকর্ড এর অনুমতি দেবেন");

while (m.find()) {
      System.err.println(m.group(1));
}

所以理想情况下,我试图将单词 ক্যামেরাকে 作为输出,它位于文本 ছবি তোলা এবং ভিডিও রেক之前র্ড...。顺便说一句,这是本例中的第一个单词,但情况可能并非如此。

我该怎么做?嗯,我正在尝试在 Android 上执行此操作。

编辑

在这里尝试 Java 解决方案:

enter image description here

谢谢!

最佳答案

将此用于孟加拉语字母:

Pattern.compile("([\\p{IsBeng}\\s]+) ছবি", Pattern.UNICODE_CASE);

\p{xxx}可用于很多字符类,例如类别,也可用于脚本,您需要知道名称和前缀 Is .

也可以使用

Pattern.compile("([\\w\\s]+) ছবি", Pattern.UNICODE_CHARACTER_CLASS);

但这将匹配任何字母表中的字母,所以我不确定您真正需要什么。

关于java - 在正则表达式解析中处理 Unicode 单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46916577/

相关文章:

java - 如何使用 JButton 打开一个新的 JPanel?

java - 如何在点击网站(php)上的按钮后弹出java jar文件?

java - 是否可以使用其他一些类,例如 awt 中的某些类或 codenameone 中的 swing

java - Android - 将视频保存到内部存储

mysql - 如何让 mySQL 字段只接受 a-zA-Z 而不是更广泛的字符范围?

html - 修改现有正则表达式以检索索引

java - 异常处理错误

android - 无法覆盖 shouldInterceptRequest() 来发出我自己的 HTTP 请求

java - 如何从 arrayList 中的对象获取属性

java - 匹配以某个路径元素开头的任何 url