regex 如何验证“Hangul-Korean”文本?

rpppsulh  于 2023-01-14  发布在  其他
关注(0)|答案(1)|浏览(90)

我想在java中验证一个"Hangul-Korean"文本。
我将在"字符串"中包含"韩语"文本,并调用"matches()"来验证字符串。
正则表达式用于测试该文本是否为"韩文"以及韩文字符串字符长度是否在10到20之间。
我不想使用任何其他第三方解决方案。
先谢了。

ddrv8njm

ddrv8njm1#

您可以为此引用Unicode块或脚本。
下面是一个脚本示例:

Pattern p = Pattern.compile("\\p{IsHangul}");
Matcher m = p.matcher("김인재");
while (m.find()) {
    System.out.println("Found: " + m.group());
}
    • 产出**
Found: 김
Found: 인
Found: 재
    • 说明**
  • 有关Unicode块的参考,请参见here
  • 有关朝鲜语机器字符的参考,请参见here
  • 要验证字符数范围,请使用:Pattern p = Pattern.compile("\\p{IsHangul}{min,max}");其中min是韩文字符的最小大小,max是韩文字符的最大大小。
  • 您在问题的评论中发布的代码将无法运行(尽管它可以编译)。请查找有关如何使用Java Pattern s/Matcher s here的参考。
    • 警告**适用于旧版Android(9或更低版本)
  • 看起来这种方法不适用于Android〈10,甚至可能导致运行时崩溃。
  • 不会在此处测试或添加替代方案
  • 具体的理由可能隐藏在这里的某个地方或链接页面中
  • NoHarmDan的提示积分

相关问题