我需要一个正则表达式来匹配以下来源中的第一个单词:
WanRoutingProtocol=
Static
192.160.22.0/27
false
2004:BA2:78::50
=IAS
我只想使用java中的正则表达式提取第一个单词(在本例中为“静态”)。
空行包含多个换行符。
我正在使用以下正则表达式
"^(\\n)+Static.*IAS"
但这不起作用。
使用以下正则表达式。表达式假定输入总是以关键字“WanRoutingProtocol”和“IAS”开始和结束,并且会获取出现在“Static”位置的任何关键字。
^WanRoutingProtocol=\\s*(.*)[\\s\\w\\./:]*=IAS$
以下是您如何在 Java 中执行此操作。(没有必要使用Pattern.MULTILINE)
String input = "WanRoutingProtocol=\n" +
" Static\n" +
"\n" +
"\n" +
"\n" +
" 192.160.22.0/27\n" +
" false\n" +
"\n" +
" 2004:BA2:78::50\n" +
"\n" +
"\n" +
" =IAS";
Pattern p = Pattern.compile("^WanRoutingProtocol=\\s*(.*)[\\s\\w\\./:]*=IAS$");
Matcher m = p.matcher(input);
while (m.find()) {
System.out.println(m.group(1)); // prints "Static"
}