gpt4 book ai didi

java - 无法在Java中使用正则表达式进行匹配

转载 作者:行者123 更新时间:2023-12-01 21:18:29 25 4
gpt4 key购买 nike

我不久前问过这个问题,但没有得到正确的答案,所以再试一次。

class Test {
public static void main (String[] args) throws java.lang.Exception
{
String file_name = "C:\\Temp\\Test.txt";
String string = FileUtils.readFileToString(new File(file_name), "UTF-8");
String regex = "^(ipv6 pim(?: vrf .*?)? rp-address .*)";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(string);
if (matcher.find()) {
System.out.println("Matcher: " + matcher.group(1));
} else {
System.out.println("No Matches");
}
}
}

该文件包含很多行,超过 750 行,我猜,我想提取与正则表达式值匹配的所有行。现在的问题是,我完成代码的方式没有返回任何匹配项。我仅在文件的第一行与正则表达式匹配且没有其他内容的情况下才执行此操作,如果它位于中间的某个位置,则运气不佳。我认为由于一切都是新的,所以会引起问题。但是,即使编写一些将字符串转换为单行的代码,如果模式与开头不匹配,也不会返回值。

示例匹配字符串:ipv6 pim rp-address 20:20:20::F

最佳答案

尝试使用 MULTILINE 修饰符:

Pattern p = Pattern.compile(regex, Pattern.MULTILINE);

关于java - 无法在Java中使用正则表达式进行匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39524215/

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