Regex 正则表达式以提取HTML项

Regex 正则表达式以提取HTML项,regex,Regex,给定以下HTML块,创建以下列表的最佳正则表达式模式是什么:(将url链接保留在Matches集合中) Abdominal Aortic Aneurysm see Aortic Aneurysm Abdominal Pain Abdominal Pregnancy see Ectopic Pregnancy Abnormalities see Birth Defects ABO Blood Groups see Blood and Blood Disorders Abortion About

给定以下HTML块,创建以下列表的最佳正则表达式模式是什么:(将url链接保留在Matches集合中)

Abdominal Aortic Aneurysm see Aortic Aneurysm
Abdominal Pain
Abdominal Pregnancy see Ectopic Pregnancy
Abnormalities see Birth Defects
ABO Blood Groups see Blood and Blood Disorders

Abortion
About Your Medicines see Medicines; Over-the-Counter Medicines
ABPA see Aspergillosis
Abscess
Abuse see Child Abuse; Domestic Violence; Elder Abuse 
以下是原始输入:

<li><span class="formod5">&nbsp;</span></li>
<li class="item">Abdominal Aortic Aneurysm see <a href="http://www.nlm.nih.gov/medlineplus/aorticaneurysm.html">Aortic Aneurysm</a></li>
<li class="item"><a href="http://www.nlm.nih.gov/medlineplus/abdominalpain.html">Abdominal Pain</a></li>
<li class="item">Abdominal Pregnancy see <a href="http://www.nlm.nih.gov/medlineplus/ectopicpregnancy.html">Ectopic Pregnancy</a></li>
<li class="item">Abnormalities see <a href="http://www.nlm.nih.gov/medlineplus/birthdefects.html">Birth Defects</a></li>
<li class="item">ABO Blood Groups see <a href="http://www.nlm.nih.gov/medlineplus/bloodandblooddisorders.html">Blood and Blood Disorders</a></li> 
<li><span class="formod5">&nbsp;</span></li>
<li class="item"><a href="http://www.nlm.nih.gov/medlineplus/abortion.html">Abortion</a></li>
<li class="item">About Your Medicines see <a href="http://www.nlm.nih.gov/medlineplus/medicines.html">Medicines</a>; <a href="http://www.nlm.nih.gov/medlineplus/overthecountermedicines.html">Over-the-Counter Medicines</a></li>
<li class="item">ABPA see <a href="http://www.nlm.nih.gov/medlineplus/aspergillosis.html">Aspergillosis</a></li>
<li class="item"><a href="http://www.nlm.nih.gov/medlineplus/abscess.html">Abscess</a></li>
<li class="item">Abuse see <a href="http://www.nlm.nih.gov/medlineplus/childabuse.html">Child Abuse</a>; <a href="http://www.nlm.nih.gov/medlineplus/domesticviolence.html">Domestic Violence</a>; <a href="http://www.nlm.nih.gov/medlineplus/elderabuse.html">Elder Abuse</a></li> 
<li><span class="formod5">&nbsp;</span></li>
  • 腹主动脉瘤见
  • 腹部妊娠参见 异常情况见 ABO血型见
  • 关于您的药品,请参见
  • ABPA参见
  • 滥用参见;;

  • TIA

    不要将正则表达式用于此类操作(我认为在需要拧紧螺栓时,不要使用锤子而不是扳手?),请使用用于此类操作的专用工具:HTML DOM解析器(http://simplehtmldom.sourceforge.net/)或者类似的东西。

    不要将正则表达式用于此类内容(我认为在需要拧紧螺栓时,不要使用锤子而不是扳手?),请使用用于此类操作的专用工具:HTML DOM解析器(http://simplehtmldom.sourceforge.net/)或者类似的事情。

    忽略这些DOM家伙。他们不知道自己在说什么,即使他们知道,他们也没有回答你的问题,这是粗鲁的

    如果这就是你想要做的,我相信就是去掉标签,剩下的就不做了,你可以用一个简单的:

    s/<.*?>//g;
    
    当然,在任意HTML上,您必须比这要小心得多,因为您有
    标记和
    标记和
    CDATA
    部分和
    alt=“>”
    以及所有这些jazz,但是在您介绍的示例上,这将很好地工作


    但是,你没有比这更好的将HTML转换为文本的方法吗?

    忽略这些DOM人员。他们不知道自己在说什么,即使他们知道,他们也没有回答你的问题,这是粗鲁的

    如果这就是你想要做的,我相信就是去掉标签,剩下的就不做了,你可以用一个简单的:

    s/<.*?>//g;
    
    当然,在任意HTML上,您必须比这要小心得多,因为您有
    标记和
    标记和
    CDATA
    部分和
    alt=“>”
    以及所有这些jazz,但是在您介绍的示例上,这将很好地工作


    但是,您没有比这更好的方法将HTML转换为文本吗?

    最好的正则表达式是
    /(.*)/m
    ,然后使用HTML解析器来完成其余的工作。最好的正则表达式是
    /(.*)/m
    ,然后使用HTML解析器来完成其余的工作。谢谢您的帮助。同意,有些答案是不正确的。:)tchrist,谢谢你的帮助。同意,有些答案不是:)好吧,我只是想指出一点,如果你试图用regex解析简单的东西,它似乎是解决所有问题的工具,而不是。检查更详细的答案:)好吧,我只是想指出一点,如果你试图用regex解析简单的东西,它似乎是解决所有问题的工具,而不是。查看更详细的答案:)