我试图了解在 split/Pattern.compile 这种情况下正则表达式如何工作
这是整个字符串:"#[flowVars['variable_name']]"
我需要提取的字符串是"variable_name"
我怎样才能用正则表达式实现这一点?甚至用更长的名字代替"flowVars"
可能是别的东西。
编辑:
构造了一个使用 split 和迭代两次的方法来查找引号之间的所有匹配项/变量,以防万一有人想重新使用它或修改它
private static List<String> rebuildURLWithComplexValues(String url) {
List<String> tokens = new ArrayList<String>();;
if(url != null && url.length() > 0) {
if(url.contains("flowVars")) {
String[] firstSplit = url.split("\\[");
for (int i = 0; i < firstSplit.length; i++) {
if(firstSplit[i].contains("'")) {
StringTokenizer st = new StringTokenizer(firstSplit[i], "\'");
String tokencitu = st.nextToken();
tokens.add(tokencitu);
}
}
}
}
return tokens;
}
谢谢大家 :D