gpt4 book ai didi

java - 正则表达式来匹配和检索一些标记

转载 作者:行者123 更新时间:2023-11-30 03:58:03 28 4
gpt4 key购买 nike

我感兴趣的字符串如下所示a1.fooa2.bara3.whatever

现在我需要检索号码。所以我写了这段代码(用Java),认为它可以工作,但事实并非如此。谁能告诉我我的模式有什么问题吗?

final String testInput = "a2.foo";
Pattern p = Pattern.compile("a(\\d*)\\.([^\\w])");
Matcher matcher = p.matcher(testInput);
if (matcher.find())
{
System.out.println("n = " + matcher.group(1));
}
else
{
System.out.println("NOT MATCHED");
}

这会打印 NOT MATCHED,而我希望它打印 2

最佳答案

您的正则表达式是错误的,因为 ([^\\w]) 将仅匹配一个非单词字符。您可能需要超过 1 个单词字符,因此 (\\w+)

但是您可以使用此前瞻:

Pattern.compile("a(\\d*)(?=\\.)");

关于java - 正则表达式来匹配和检索一些标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22620407/

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