2

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

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

我的代码:

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)and\b模式表达式实现。

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

4

1 回答 1

1

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

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

相关问题:

于 2012-07-26T06:58:30.180 回答