繁体   English   中英

使用正则表达式从字符串中提取符号

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM