Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 正则表达式提取数据_Html_Regex - Fatal编程技术网

Html 正则表达式提取数据

Html 正则表达式提取数据,html,regex,Html,Regex,如果我必须从HTML页面源代码中提取某些属性的值。例如: 如果我想得到地址的值 <span class="address">413 W. Street</span></span><br> 413 W街 编辑:对不起,我把问题理解错了。 我试着删除这个问题,但没有成功。我在这里发布了新问题: 使用正则表达式从原始html中提取数据有点困难,因为不同站点的模式可能会有所不同。使用能够查看DOM树的东西更容易 如果您使用的是python,那么

如果我必须从HTML页面源代码中提取某些属性的值。例如:

如果我想得到地址的值

    <span class="address">413 W. Street</span></span><br>
413 W街

编辑:对不起,我把问题理解错了。 我试着删除这个问题,但没有成功。我在这里发布了新问题:
使用正则表达式从原始html中提取数据有点困难,因为不同站点的模式可能会有所不同。使用能够查看DOM树的东西更容易

如果您使用的是python,那么可以使用BeautifulSoup。这是医生。这正是你想要的

这是一段python代码

>>> import re
>>> s = '<span class="address">413 W. Street</span><br><span class="phone">218-999-1020</span>, <span class="region">WA</span> <span class="postal-code">87112</span><br>'
>>> re.findall(r'address">(.*?)<.*phone">(.*?)<.*region">(.*?)<.*postal-code">(.*?)<', s)
[('413 W. Street', '218-999-1020', 'WA', '87112')]
>>> 
>>重新导入
>>>南部='413 W.街
218-999-1020,华盛顿87112
'
>>>re.findall(r'address“>(.*?)(.*?)您不应该使用正则表达式来解析html。这里有很好的解释:

不过,如果您知道要解析的html文本的确切结构,可以尝试使用此正则表达式(为C#程序准备,因此可能会根据您的代码语言而有所不同):


\n您用什么基本语言解析HTML?我想当然地认为,在您的代码得到HTML之前,您无权重新格式化HTML。很抱歉,我理解错了问题。我尝试删除此问题,但无法删除。我已在此处发布了新问题:
\<span[^">]*class="([^"]+)[^>]*>([^<]*)