求一正则

chenqi_lscy 2013-05-30 03:07:50
现想获取下面HTML代码里的DIV,初学正则,不知道该如何下手,总是有错。哪位大牛,花点时间,把各个DIV按组取出来即可

<font face="Verdana">

<span id="lblContent"><div style="margin: 0mm 0mm 0pt; text-indent: 21pt"><strong>分子式和分子量</strong><strong> </strong>C<sub>18</sub>H<sub>20</sub>Cl<sub>2</sub>;分子量307.3<strong>。</strong></div>

<div style="margin: 0mm 0mm 0pt; text-indent: 21pt"><strong>理化性质 </strong>纯品为结晶固体,熔点60~61。工业品为腊状固体,熔点不低于40,在52以上,则有部分分解。不溶于水,但溶于大多数芳烃溶剂和二氯甲烷。</div>

<div style="margin: 0mm 0mm 0pt; text-indent: 21pt"><strong>毒性 </strong>急性口服LD<sub>50</sub>为值对大鼠为8170mg/kg,对小鼠为6600mg/kg。用含有500mg/kg乙滴涕的饲料喂大鼠2年,在残存者血相上均未发现有害的影响。</div>

<div style="margin: 0mm 0mm 0pt; text-indent: 21pt"><strong>剂型 </strong>45%乳剂;75%液剂。</div>
<div style="margin: 0mm 0mm 0pt; text-indent: 21pt"><strong>作用方式 </strong>非内吸性杀虫剂。</div>

<div style="margin: 0mm 0mm 0pt; text-indent: 21pt"><strong>防治对象 </strong>虽然杀虫活性低于滴滴涕,但有专门的用途。主要用于防治梨木虱和蔬菜作物上的叶蝉及家用防治蛀虫等。</div>

<div style="margin: 0mm 0mm 0pt; text-indent: 21pt"><strong>使用方法 </strong>以有效成分1~16kg/hm²剂量来防治梨黄木虱,叶蝉和蔬菜作物上的各种害虫的幼虫,还可用于家庭防治衣蛾和皮蠹,无药害。在土壤中有中度持效。</div>

<div style="margin: 0mm 0mm 0pt; text-indent: 21pt"><strong>分析方法 </strong>(1)产品分析:用钢弹测定总氯量。(2)残留物分析:采用氯仿萃取,脱氯化氢和硫酸反应,在493nm处测定。</div>

<div style="margin: 0mm 0mm 0pt; text-indent: 21pt"><strong>开发或生产机构</strong><strong> </strong>1950年由美国 Rohm and Haas 公司开发,已停产。</div></span>

</font>


谢设备
...全文
177 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenqi_lscy 2013-05-31
  • 打赏
  • 举报
回复
style\="margin\:\s0mm\s0mm\s0pt;\stext\-indent\:\s21pt" 这一部分我倒不想把它写到正则表达式里面去,不过也没关系
EnForGrass 2013-05-31
  • 打赏
  • 举报
回复
引用 3 楼 chenqi_lscy 的回复:
[quote=引用 1 楼 Chinajiyong 的回复:] (?is)<div[^>]*?>.*?</div>
这个貌似不会对div进行分组匹配,就是贪婪匹配,我这里需要懒惰匹配。不过我会学习你的写法的,谢谢 [/quote] 你就是要div里的包起来的内容??? (?is)(?<=<div[^>]*?>).*?(?=</div>)
chenqi_lscy 2013-05-31
  • 打赏
  • 举报
回复
<div\sstyle=""[^""<>]*""><strong>(?<fname>.*?)</strong>(?<fvalue>.*?)</div>
chenqi_lscy 2013-05-31
  • 打赏
  • 举报
回复
引用 6 楼 Chinajiyong 的回复:
[quote=引用 3 楼 chenqi_lscy 的回复:] [quote=引用 1 楼 Chinajiyong 的回复:] (?is)<div[^>]*?>.*?</div>
这个貌似不会对div进行分组匹配,就是贪婪匹配,我这里需要懒惰匹配。不过我会学习你的写法的,谢谢 [/quote] 你就是要div里的包起来的内容??? (?is)(?<=<div[^>]*?>).*?(?=</div>)[/quote] 我在shawn_yang 的基础上改了一个出来了,晚上把我改的正则贴上来,然后再测下你的正则。谢谢啦
chenqi_lscy 2013-05-30
  • 打赏
  • 举报
回复
引用 2 楼 shawn_yang 的回复:
<div\sstyle\="margin\:\s0mm\s0mm\s0pt;\stext\-indent\:\s21pt"><strong>(?<fname>.*)<\/strong>(?<fvalue>.*)<\/div>
这个倒是我想要的,只不过对后面的几个DIV貌似处理不到位
chenqi_lscy 2013-05-30
  • 打赏
  • 举报
回复
引用 1 楼 Chinajiyong 的回复:
(?is)<div[^>]*?>.*?</div>
这个貌似不会对div进行分组匹配,就是贪婪匹配,我这里需要懒惰匹配。不过我会学习你的写法的,谢谢
shawn_yang 2013-05-30
  • 打赏
  • 举报
回复
<div\sstyle\="margin\:\s0mm\s0mm\s0pt;\stext\-indent\:\s21pt"><strong>(?<fname>.*)<\/strong>(?<fvalue>.*)<\/div>
EnForGrass 2013-05-30
  • 打赏
  • 举报
回复
(?is)<div[^>]*?>.*?</div>

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧