java - 匹配正则表达式模式时如何忽略变音符号?

标签 java android regex diacritics

我需要使用正则表达式搜索字符串以查找符合这些条件的事件:

  • 在单词边界上
  • 不区分大小写
  • 忽略变音符号

我的代码:

CharSequence text = "One Twó";
String searchString = "two";
Pattern p = Pattern.compile("(?i)\\b"+searchString);
Matcher m = p.matcher(text);
while(m.find()) {
   int s = m.start();
   int e = m.end();
}

前 2 个条件由 (?i)\b 模式表达式实现。

我仍然需要实现第三个目标,忽略变音符号,所以在上面搜索到的字符串“two”将匹配文本中的文本“Twó”。如何实现?

最佳答案

我没有完美的基于正则表达式的解决方案。也许存在,也许不存在。

虽然有一个解决方法的建议:您可以在尝试匹配字符串之前尝试删除变音符号。

相关问题:

关于java - 匹配正则表达式模式时如何忽略变音符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11663931/

相关文章:

java - LinearLayout 中的 RecyclerView 布局未刷新

java - 在 Java 程序中的两个 HTTPClient 之间共享 session 的好方法是什么?

ruby - 在数字中插入连字符

java - 将空标签解码到集合的新实例中

java - Scala 与 Java 互操作并使用对象重写方法

android - 9 block 平铺风格图像

javascript - ((xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,} 适用于 regexpal.com,但不适用于 jsfiddle.net

c# - 如何获取嵌套括号之间的文本?

java - 从Android中的OEM筛选出不需要的系统应用程序

java - Maven yui 压缩器插件无法在给定较长路径的情况下创建聚合?