日期:2014-05-18  浏览次数:20867 次

正则表达式去匹配url的值,就剩下最后一个

正常的 URL 地址如下:

category_3_2_b0_p0-0_at1_lt0_ps0_av1-10_mn100.aspx

正则如:

category_(\d+)_(\d+)_b(\d+)_p(\d+)-(\d+)_at(\d+)_lt(\d+)_ps(\d+)_av(\d+)_mn(\d+).aspx

大家注意如果 av后面直接是数字的话 如 ...._av123.aspx,那么是可以匹配的
但是现在av 后面要跟 1-21,32-241,185-6 等不知道多少个 以 数字-数字的组合

我现在想匹配出来 1-21,32-241,...数据

怎么去写呢 _av(\w+) ?

------解决方案--------------------

category_(\d+)_(\d+)_b(\d+)_p(\d+)-(\d+)_at(\d+)_lt(\d+)_ps(\d+)_av(\d*-?\d*)_mn(\d+).aspx

试试上面这个。。。没有完全理解LZ的意思
------解决方案--------------------
探讨

谢谢大哥啊 ,应该差不多对了

就是后面原先是 _av10_mn123.aspx
我能得到10,123
现在 我得不到10了,就是说 av后面的参数改变成 av10-32,65-10,1-14_mn

并且这个 数字-数字 加 , 号的个数不确定

只需要得到 10-32,65-10,1-14 就对了,我不会写匹配的正则
另外给个在线测试的地址

http://to……

------解决方案--------------------
探讨

不是吧。。。不懂我的意思?
url那个原文中 _av10-21,2-1,3-6_mn.aspx

这个字符串中,我怎么匹配出
10-21,2-1,3-6
怎么写正则?