我正在使用一个在 DevMode 下工作但没有编译和部署过的 RegEx。它是扩展 com.google.gwt.user.client.ui.SuggestOracle.Suggestion 的类的一部分:
@Override
public String getDisplayString() {
String toReturn = myUser.getName() + " (" + myUser.getUserid() + ") " + (myUser.getCompanyname() == null ? "N/A" : myUser.getCompanyname());
return toReturn.replaceAll("(?i)" + "(" + myInput + ")", "<b>$1</b>");
return toReturn;
}
官方文档(http://www.gwtproject.org/javadoc/latest/com/google/gwt/regexp/shared/RegExp.html)声明如下:
两种实现之间存在一些小的不兼容性。正则表达式语法中的 Java 特定结构(例如 [az&&[^bc]]、(?<=foo)、\A、\Q)仅在纯 Java 实现中有效,在 GWT 实现中无效,并且不会被任何一个。此外,替换表达式中特定于 Javascript 的构造 $` 和 $' 仅在 GWT 实现中有效,而不是在拒绝它们的纯 Java 实现中有效。
不过,我不知道如何调整我的 RegEx,以便它在部署后工作。
这个网站(http://planet.jboss.org/post/smartgwt_tip_regex_evaluation)这样说:
解决方案是将 OR 选项从最复杂到最不复杂
任何想法如何使这个解决方案适应我的问题?
干杯,蒂姆