Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Unicode字符正则表达式,捕获组_Java_Regex_Unicode - Fatal编程技术网

Java Unicode字符正则表达式,捕获组

Java Unicode字符正则表达式,捕获组,java,regex,unicode,Java,Regex,Unicode,我得到了一个正则表达式\p{L}\p{M}*,我使用它将单词拆分为字符,这对于印地语或泰语单词尤其需要,因为字符中可以包含多个“字符”,例如 मछली 如果在Java中以常规方式拆分,我会得到 [म][छ][ल][ी] 我想去哪里 [म][छ][ली] 我一直在努力改进这个正则表达式,使其也包含空格字符 所以当我分手的时候 फार्म पशु 我会得到以下几组 [फा][र्][म][ ][प][शु] 但我运气不好。有人能帮我吗 另外,如果有人有一种替代方法,那就是java,它也可以是一种替代

我得到了一个正则表达式\p{L}\p{M}*,我使用它将单词拆分为字符,这对于印地语或泰语单词尤其需要,因为字符中可以包含多个“字符”,例如 मछली 如果在Java中以常规方式拆分,我会得到 [म][छ][ल][ी] 我想去哪里 [म][छ][ली]

我一直在努力改进这个正则表达式,使其也包含空格字符 所以当我分手的时候 फार्म पशु 我会得到以下几组 [फा][र्][म][ ][प][शु]

但我运气不好。有人能帮我吗

另外,如果有人有一种替代方法,那就是java,它也可以是一种替代解决方案

Pattern pat = Pattern.compile("\\p{L}\\p{M}*");
    Matcher matcher = pat.matcher(word);
    while (matcher.find()) {
        characters.add(matcher.group());
    }
考虑使用:

<>我使用Oracle java 8实现了测试字符串,也考虑了如果需要的版本。
String text = "मछली";
Locale hindi = new Locale("hi", "IN");
BreakIterator breaker = BreakIterator.getCharacterInstance(hindi);
breaker.setText(text);
int start = breaker.first();
for (int end = breaker.next();
  end != BreakIterator.DONE;
  start = end, end = breaker.next()) {
  System.out.println(text.substring(start,end));
}