如何通过正则表达式提取HTML属性

我正在寻找如何使用正则表达式从html标记获取属性/值。是的,我知道可以使用xml / html解析器,但这是为了测试我在正则表达式中的能力。例如,在此html元素中:

<input name=dir value=">">
<input value=">" name=dir >

我将如何提取:

(?<name>...) and (?<value>...)

一旦您匹配了某项内容,是否可以“返回”到比赛开始?例如:

<(?P<element>\w+).+(?:value="(?P<value>[^"])")@@@@.+(?:name="(?P<name>[^"])")

@@@@的基本含义是“回到上一个匹配/捕获组的开头(这样我就不必修改标签的所有可能顺序)。该怎么做?>

eiance 回答:如何通过正则表达式提取HTML属性

  1. 是的,使用解析器是最好的方法。
  2. 如评论中所述,您不能一次轻松地提取所有信息。
  3. 您可以使用几个正则表达式来实现所需的目标:
input.*?name=(?'name'[^ ]+)

测试here

input.*?value="(?'value'[^"]+)"

测试here

本文链接:https://www.f2er.com/3148430.html

大家都在问