gpt4 book ai didi

java - 正则表达式匹配用户代理中的版本号(没有应用程序中的名称)

转载 作者:行者123 更新时间:2023-12-01 18:15:52 26 4
gpt4 key购买 nike

例如使用此用户代理

 Mozilla/5.0 (Linux; U; fr-fr; Desire HD Build/FRG83D) **MyApp/2.2.1** AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533

我制作了这个正则表达式:

MyApp/\d+(\.\d+)+

正确匹配“MyApp/2.2.1”。我的问题是如何修改此正则表达式以仅匹配版本号?

谢谢!

最佳答案

只需将与版本号之前的部分匹配的模式 MyApp/ 放入肯定的后向断言中即可。

(?<=MyApp/)\d+(?:\.\d+)+

DEMO

String s = "Mozilla/5.0 (Linux; U; fr-fr; Desire HD Build/FRG83D) **MyApp/2.2.1** AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533";
Matcher m = Pattern.compile("(?<=MyApp/)\\d+(?:\\.\\d+)+").matcher(s);
if(m.find())
{
System.out.println(m.group());
}

输出:

2.2.1

关于java - 正则表达式匹配用户代理中的版本号(没有应用程序中的名称),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29607457/

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