网页源码点这里下载。因为登录后才能看到网页,所以就干脆把源码放到这里了。
下面这个表达式能匹配到两组,分别是 name=绿色, val=413 和 name=灰色 val=415
<a +href *="goods\.php\?id=(?<val>\d+)" +class="ucselect">\s*(?<name>\w+)\s*</a>
下面这个表达式匹配到一组,name=紫色, val=414
<a +class="ccselect" *><font +color=['"]?red['"]? *>\s*(?<name>\w+)\s*</font></a>[\s\S]*<a +href=['"]?javascript:addToCart\((?<val>\d+)\)['"]? *>
但我把这两个表达式合在一起,就是将它们分别放到|号的两边,却无法匹配到 name=灰色 val=415
求高人写个表达式,将以上三组结果全都匹配出来,或者指点下小弟,感激不尽。
考虑到高手可能没工夫看上面的源码,那么帮我解决一个相对简单的也行,原理是一样的,只要这个会了,上面的我也知道怎么做了。
文本:123456
要求用正则匹配出123456和3这两个结果到名称为name的组里
are you sure?正则在我映像中属于贪婪匹配模式,怎么会既匹配到3又匹配到123456。
而且你的第二个表达式也是无法匹配到源代码中的任何内容的。
用|是应该可以匹配到的,但是效率不敢恭维;
你可以继续参照你的正则将2个正则的匹配结果合并就ok了