您能帮我提供正则表达式吗?我是这个新手。

我的要求是我想从以下网址中提取车辆编号(即123456789):

mysite.com/resource?slk=121&ops=rewww&from=kld&to=aop&search=things&validVehicle=sdfdsdff-sdfdf-sddf%3AVX%3ALNCX%3A123456789%3AOPW%3ALOS


我尝试了以下表达式:

[&?]{1}validVehicle[=]{1}[^&]*[%3A]{1}([^%&]+)


但这给出了无效的结果。你能帮我一下吗?

最佳答案

纯正则表达式解决方案:

[&?]validVehicle=[^&]*(\d{9})


或者,如果您确定它们出现在%3A之后,并且后面没有数字:

[&?]validVehicle=[^&]*%3A(\d{9})(?!\d)


请参见this regex demoanother regex demo。您寻求的价值在组1中。

细节:


[&?]-一个?&
validVehicle=-文字子字符串
[^&]*-除&以外的任何符号,直到最后
%3A-文字子字符串
(\d{9})-组1:9位数字
(?!\d)-后面没有数字。

10-06 02:29