gpt4 book ai didi

java - 需要正则表达式来匹配多行源中的单词

转载 作者:行者123 更新时间:2023-12-01 14:37:01 24 4
gpt4 key购买 nike

我需要一个正则表达式来匹配以下源中的第一个单词:

WanRoutingProtocol=
Static



192.160.22.0/27
false

2004:BA2:78::50


=IAS

我只想使用 java 中的正则表达式提取第一个单词(在本例中为“Static”)。

空行包含多个换行符。

我正在使用以下正则表达式

  "^(\\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"
}

关于java - 需要正则表达式来匹配多行源中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16395943/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com