您需要解析代理列表,其中一行如下所示:
23 192.169.214.83:63828 SOCKS5 HIA 2.374 US Скоттсдейл (Аризона) ip-192-169-214-83.ip.secureserver.net (GoDaddy.com, LLC) 100% (9) 07:10:19 13:00
应选择以下组:
id:23
ip:192.169.214.83
端口:63828
延迟: 2.374
正常运行时间:100
次测试:9
在 regex101 上,我做了以下表达式:
(\d{1,5}) (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d{1,5}).+(\d{1,2}\.\d{1,3}).+(\d{3}).+(\d+)\)
问题是正常运行时间百分比可能不是 3 位数(100),而是 2(下面不感兴趣)。我试图在倒数第二组中写 not (\d{3})
,但是(\d{2,3})
- 然后它没有捕获第一个数字(在这种情况下,“00”出来)。在这种情况下,正确的写入方法是什么,以便正确捕获 100 和更小的两位数?
可以替换
.+(\d{3})
为.+?(\d{2,3})%
。但一般来说,还是正常分列比较好,不要
\s+
换成.+
.