您能帮我提供正则表达式吗?我是这个新手。
我的要求是我想从以下网址中提取车辆编号(即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 demo和another regex demo。您寻求的价值在组1中。
细节:
[&?]
-一个?
或&
validVehicle=
-文字子字符串[^&]*
-除&
以外的任何符号,直到最后%3A
-文字子字符串(\d{9})
-组1:9位数字(?!\d)
-后面没有数字。