我需要使用正则表达式搜索字符串以查找符合这些条件的事件:
- 在单词边界上
- 不区分大小写
- 忽略变音符号
我的代码:
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/