求一段正则表达式

2015-06-12 10:29:49 +08:00
 DSKcpp

如何匹配出这一段(所有)
1797 次点击
所在节点    正则表达式
7 条回复
zjuster
2015-06-12 11:18:39 +08:00
看不懂楼主的问题:
1. “这一段”指的是什么?
2. 用XPath?正则?这个dom结构用XPath才对吧。
DSKcpp
2015-06-12 11:33:37 +08:00
@zjuster
从一大段匹配出如图的这一小段
Exin
2015-06-12 11:40:10 +08:00
python:
import re
re.compile(r"<div class=\"grid-product on-sale\">.*</div>",re.S)
因为是贪婪匹配,适用于文件内只含有一段需要匹配的情况
非贪婪的忘了怎么写了……
tux
2015-06-12 13:47:11 +08:00
把整个页面源码发出来好测试
monnand
2015-06-12 14:06:16 +08:00
楼主你知道吗,XML之所有被人各种喷,其中一个重要原因就是它无法用正则表达式来Parse

http://stackoverflow.com/questions/701166/can-you-provide-some-examples-of-why-it-is-hard-to-parse-xml-and-html-with-a-reg
http://stackoverflow.com/questions/6751105/why-its-not-possible-to-use-regex-to-parse-html-xml-a-formal-explanation-in-la

要想保险,踏踏实实分析XPath,否则总会有些意想不到的输入破坏你的正则表达式——这不是一个可以用正则表达式解决的问题。
50480350
2015-06-12 14:50:48 +08:00
php: preg_match_all(#'<div class="grid-product on-sale">([\s\S]+?)</ul>'#, $content, $matches);

要看上下文的 div 比较好判断
lululau
2015-06-12 14:50:55 +08:00
根本用不着正则。。。

idx = 那一大段.index(这一小段)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/197924

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX