[英]Extracting symbols from string with regex
我有一个这样的字符串${something}
并且想要使用Java中的正则表达式提取something
。 这是我的代码:
String tmp = null;
Pattern pVars = Pattern.compile("\\$\\{([^}]*)\\}");
Matcher mVars = pVars.matcher(vars[0]);
if (mVars.find())
{
tmp = mVars.group();
}
但是在这种情况下,我得到了完整的字符串。
您仍在提取整个模式,而不是提取括号内的组。 这是group
没有参数时的行为方式。
通过传递1
作为参数来指定第一个捕获组:
tmp = mVars.group(1);
使用group(1)
访问表达式中用()
标记的内部组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.