【发布时间】:2017-03-06 13:04:44
【问题描述】:
我的正则表达式很差。我google了一下,对它有了基本的了解。
我有以下要求: 我的命令可能包含一些带有“$(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");
}
【问题讨论】:
标签: java regex pattern-matching