gpt4 book ai didi

Java正则表达式字符串匹配

转载 作者:行者123 更新时间:2023-12-01 22:26:19 27 4
gpt4 key购买 nike

我需要帮助。我正在编写一个方法,如果 1954 位于字符串 images/deal/129277/1954-bonus.jpg 中,该方法将返回 true。我可以使用 string.contains 但它并不总是准确的。相反,如果 1954 年在准确的位置,我希望它返回 true。下面的sourceKey是images/deal/129277/1954-bonus.jpg,oldImageId是1954

下面的代码不起作用。

private boolean keyMatches(String sourceKey, String oldImageId){
Pattern pattern = Pattern.compile("(.*?)/(\\d+)/(\\d+)-(.*)");
Matcher matcher = pattern.matcher(sourceKey);
return oldImageId.equals(matcher.group(3));
}

最佳答案

看起来你想要这样的东西,

String s = "images/deal/129277/1954-bonus.jpg";
String oldImageId = "1954";
Matcher m = Pattern.compile("(.*?)/(\\d+)/(\\d+)-(.*)").matcher(s);
if(m.find())
{
System.out.println(oldImageId.matches(m.group(3)));
}

输出:

true

关于Java正则表达式字符串匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28721052/

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