繁体   English   中英

与指定的第一个子字符串匹配的Perl正则表达式

[英]Perl regex that matches the first substring specified

我需要从HTML文档中提取数据,并仅使用有趣的信息撰写XML文档。 我这样做的方法是将HTML文档逐步转换为XML文档。 我在每行中有5个最外面的XML标记,现在我正在尝试构建其中的内容。

我有一条这样结构的线:

   <myTag> 
      blablabla <a href="link/I/want" *some css* > title I want </a> some other stuff <a href="link that/I/don't/want" *some css*> text I don't want </a> blablabla 
   </myTag>

我想要的是:

    <myTag>
    <link>link/I/want</link>
    <title> title I want </title>
    </myTag>

我的正则表达式是:

    /a href="(.*)"(.*)>(.*)<\/a>/ 

希望获得#$ 1 = url,$ 2 =无论如何,$ 3 =标题。

这不起作用,因为它取而代之:

    <myTag>
    <link>link/I/want *some css* > title I want </a> some other stuff <a href="link that/I/don't/want" *some css*</link>
    <titl>text I don't want</title>
    </myTag>

如何提取线的FIRST锚标记的内容?

谢谢 !

只需使用非贪婪的表达式:

/a href="(.*?)"(.*?)>(.*?)<\/a>/

注意? 每个*

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM