zoukankan      html  css  js  c++  java
  • 在正则中进行判断(三目运算)

    <href="fdsafd" target="_blank" class="t" >fjdafdak</a>
    <href="xxfdsafd" title="abcde" target="_blank" class="t" >fjaddk</a>
    <href="yyfdsafd" target="_blank" class="t" >fjafdk</a>
    <href="zzfdsafd" target="_blank" class="t" >fjaddddk</a>

    朋友需要提取形如以上内容中的url和title,且取title时须判断<a>标签中是否存在title属性,如果存在,则匹配title属性的值,否则匹配<a></a>之间的值作为title。

    通过三目运算,可以很方便解决上面的需求。

     三目表达式  (?(expression)yes|no)

    说明:如果expression被搜索到就执行yes部分,否则就执行no部分。

    编写正则如下:

    <a href="(?<url>[^"]*?)" (?(title="[^"]*?"[^<>]*>[\s\S]*?)title="(?<title>[^"]*?)"[^<>]*>[\s\S]*?|[^<>]*>(?<title>[\s\S]*?))</[^<>]*>

    经过正则表达式测试工具测试,提取成功。

  • 相关阅读:
    集合
    3/11
    字典
    3/10
    字符串之不常用方法
    字符串的索引和切片
    数据类型的转化
    Markdown在线编辑器
    3/9
    Django:RestFramework之-------渲染器
  • 原文地址:https://www.cnblogs.com/ztotem/p/1315936.html
Copyright © 2011-2022 走看看