cisco配置行的Java模式匹配

时间:2016-11-09 09:41:16

标签: java regex string

我有一个文本cisco配置。 我应该匹配的主机名行是" 125-hostname billdevice "。 我使用的是下面的模式,但不匹配true。

Pattern ciscohostname = Pattern.compile("^[0-9999999]-hostname");
Matcher matcherx = ciscohostname.matcher(BlockIndexList.get(k).toString());

如何匹配此行。

2 个答案:

答案 0 :(得分:0)

你想要的是

"^[0-9]+-hostname"

这意味着: 如果字符串以至少一个字符开始匹配,范围为[0-9](也就是数字),后跟字符串“-hostname”

答案 1 :(得分:0)

由于您在代码中指定了范围(即0-9999999),因此您可以使用此RegEx

^[0-9]{1,7}-hostname

这将确保只匹配1到7位数字,并且将删除超过该数字的任何数字。

0-hostname billdevice          //match
9999999-hostname billdevice    //match
10000000-hostname billdevice   //no match

DEMO