1
bindiry 2014-08-21 11:20:12 +08:00 1
|
2
Arrowing 2014-08-21 11:25:23 +08:00 1
js简单的:
var s = '<a href="http://news.hsw.cn/system/more/25330000/0000/25330000_00000011.shtml">下一页</a>'; var r = /<a href="(.*)">下一页/; s.match(r)[1]; |
3
alexapollo 2014-08-21 11:47:07 +08:00 1
<a href="(http://news.hsw.cn/system/more/[^>]*?)">下一页</a>
|
4
endoffight OP |
5
endoffight OP @Arrowing 确实很简单
|
6
Vonex 2014-08-21 12:22:54 +08:00
<a href="[^"]+">[^<]+</a>
|
7
csensix 2014-08-21 12:56:07 +08:00
RewriteRule ^/(.*)$ %1/$1
大伙有空也帮忙解释一下这个正则,apache配置里面的,谢过。 |
8
imn1 2014-08-21 13:03:34 +08:00 1
善用字符排除 [^不可能字符],不仅可以匹配更精确,还能加速正则
|
9
xylophone21 2014-08-21 13:03:37 +08:00
@bindiry
@alexapollo 的答案都破不了这种情况: <a href="http://news.hsw.cn/system/more/25330000/0000/25330000_00000010.shtml">\n 下 一 页 < / a > 即">下一页</a>" 这几个字符中都可能插入回车,甚至空格都不影响实际使用. 正则之前把回车空格神马的都去掉吧. 另外,你确定前面的a标签url都是news.hw.cn开头的?确定不会有别的属性? |
10
CosWind 2014-08-21 13:07:03 +08:00
@csensix http://stackoverflow.com/questions/6654834/difference-between-1-vs-1-in-htaccess
貌似要结合RewriteCond 看。Apache的官方文档应该是不错的参考资料。。 |
11
CosWind 2014-08-21 13:10:34 +08:00
|
12
CosWind 2014-08-21 13:12:28 +08:00
@endoffight 正则是贪心的,这样肯定匹配的比较多吧。
|
13
CosWind 2014-08-21 13:20:25 +08:00
/"([^"]*)">\s*下\s*一\s*页/这样可以么
|
14
diaoleona 2014-08-21 22:49:35 +08:00
为何不用xpath
|
15
endoffight OP @diaoleona 你确定Xpath能解决吗?
|
16
WKPlus 2014-08-28 23:47:42 +08:00
虽然你加了?,表示非贪心的匹配方式,但是误解了贪心的意思,第三行还是会匹配到。
13楼说的不错,把.*?改为[^\"]*就可以了。 其实你都用python了,干嘛不用BeautifulSoup?用正则解析html吃力不讨好啊 |
17
endoffight OP @WKPlus 当时追求快,懒得安装bs😁
|