【问题标题】:How can diacritics be ignored when matching a regex pattern?匹配正则表达式模式时如何忽略变音符号?
【发布时间】:2012-07-24 17:20:56
【问题描述】:

我需要正则表达式搜索字符串以查找具有这些条件的出现:

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

我的代码:

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();
}

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

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

【问题讨论】:

    标签: java android regex diacritics


    【解决方案1】:

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

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

    相关问题:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-12
      • 1970-01-01
      • 2016-09-09
      • 1970-01-01
      • 1970-01-01
      • 2021-01-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多