Regex GWT正则表达式在DevMode中工作,而不是在生产中工作

Regex GWT正则表达式在DevMode中工作,而不是在生产中工作,regex,gwt,dev-mode,Regex,Gwt,Dev Mode,我使用的正则表达式是在DevMode中工作的,但不是一次编译和部署。它是扩展com.google.gwt.user.client.ui.SuggestOracle.suggest的类的一部分: @Override public String getDisplayString() { String toReturn = myUser.getName() + " (" + myUser.getUserid() + ") " + (myUser.getCompanyname() ==

我使用的正则表达式是在DevMode中工作的,但不是一次编译和部署。它是扩展com.google.gwt.user.client.ui.SuggestOracle.suggest的类的一部分:

    @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;
}
@覆盖
公共字符串getDisplayString(){
字符串toReturn=myUser.getName()+”(“+myUser.getUserid()+”)+(myUser.getCompanyname()==null?“不适用”:myUser.getCompanyname());
返回toreReturn.replaceAll(“(?i)”+”(“+myInput+”),“$1”);
回归回归;
}
正式文件()规定如下:


这两个实现之间存在一些小的不兼容。正则表达式语法中的Java特定构造(例如,[a-z&[^bc]],(?JavaScript不支持
(?i)
切换到不区分大小写的匹配

您最好使用
com.google.gwt.regexp.shared.regexp

公共字符串getDisplayString(){
字符串toReturn=myUser.getName()+”(“+myUser.getUserid()+”)+(myUser.getCompanyname()==null?“不适用”:myUser.getCompanyname());
返回RegExp.compile(myInput,“ig”).replace(toReturn,“$&”);
}
public String getDisplayString() {
  String toReturn = myUser.getName() + " (" + myUser.getUserid() + ") " + (myUser.getCompanyname() == null ? "N/A" : myUser.getCompanyname());
  return RegExp.compile(myInput, "ig").replace(toReturn, "<b>$&</b>");
}