我对此进行了一些搜索并尝试了一些东西,但可以解决这个问题。
在像"a=:a OR b=:b OR c=:c"
这样的简单字符串中,我想要检索::a
:b
:c
以下是我尝试使用GWT RegExp:
RegExp regExp = RegExp.compile("(:\\w+)", "g"); // Tried without 'g'
MatchResult matcher = regExp.exec("a=:a OR b=:b OR c=:c");
但是这会返回2组“:a”,“:a”......我在网上测试员上尝试了一些东西,但却得不到我想要的东西。
谢谢!
答案 0 :(得分:2)
答案 1 :(得分:2)
首先,亚当马坦说,我应该逃过:
。
但我并没有按照应有的方式使用这些课程。
regExp.exec
应该在while循环中多次执行以获取所有可能的值。
类似的东西:
MatchResult matcher = regExp.exec(this.sqlFilter, "g");
while (matcher != null) {
...
matcher = regExp.exec(this.sqlFilter);
}
答案 2 :(得分:-1)
试试这个:
var str="a=:a OR b=:b OR c=:c";
var patt1=/:[\w+]/g;
var arr = str.match(patt1);