【发布时间】:2015-01-22 18:17:16
【问题描述】:
我有字符串"SELECTOR('(namespace=''ar.com.osde.reintegros'' and eventname=''generacionReintegro'')')"。
我需要返回"SELECTOR("和")"之间的字符串,结果应该是:'(namespace=''ar.com.osde.reintegros'' and eventname=''generacionReintegro'')'。
我的正则表达式代码是:
public static String extractSelector(String txt){
Pattern pattern = Pattern.compile("^SELECTOR\\((.*)\\)$");
Matcher m = pattern.matcher(txt);
String s = null;
while (m.find()) {
s = m.group(1);
}
return s;
}
其中 txt = "SELECTOR('(namespace=''ar.com.osde.reintegros'' and eventname=''generacionReintegro'')')"
但这总是返回null。这是为什么呢?
【问题讨论】:
-
这段代码看起来没问题,问题可能出在你代码的其他地方
-
您的代码有效:ideone.com/0SnJKM
-
可能是您的字符串末尾或开头有隐藏字符或空格吗?尝试使用
txt.trim()而不仅仅是txt。 -
我真的不认为这是一个重复的问题。至少不是它被标记为重复的问题的重复。