我在正则表达式中很差。我搜索了一下,并对其有了基本的了解。Java中的模式匹配问题
我有以下要求: 我的命令可能包含一些带有“$(VAR_NAME)”模式的字符串。我需要找出它是否有这种类型的字符串。如果是这样,我必须解决这些问题(我知道我应该怎么做,如果有这样的字符串)。 但问题是,如何查找命令是否带有“$(VAR_NAME)”模式的字符串。我的命令中可能有多个或零个这样的字符串模式。
据我所知,我写了下面的代码。如果我使用,'pattern1'
,在下面的代码中,它是匹配的。但是,不与'pattern'
有人可以帮助吗?
预先感谢您。
final String command = "somescript.file $(ABC_PATH1) $(ENV_PATH2) <may be other args too here>";
final String pattern = "\\Q$(\\w+)\\E";
//final String pattern1 = "\\Q$(ABC_PATH1)\\E";
final Pattern pr = Pattern.compile(pattern);
final Matcher match = pr.matcher(command);
if (match.find())
{
System.out.println("Found value: " + match.group(0));
}
else
{
System.out.println("NO MATCH");
}
它正在工作。谢谢@Adam – CharanTej