Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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_Notepad++ - Fatal编程技术网

使用正则表达式从HTML文件中提取数据

使用正则表达式从HTML文件中提取数据,html,regex,notepad++,Html,Regex,Notepad++,我试图使用正则表达式提取特定数据,但我无法实现我想要的,例如 在本页中 我只需要保留介于 <div class="row-fluid"> 及 所以我在replace中复制了Notepad++中启用正则表达式的HTML代码,并尝试替换匹配的所有内容 .*<div class="row-fluid"> * 要删除 但它根本不起作用 有人知道为什么吗 S:我不使用任何编程语言,我只需要用记事本++在HTML代码上执行这个操作,而不是在实际的HTML文件上执行。

我试图使用正则表达式提取特定数据,但我无法实现我想要的,例如

在本页中

我只需要保留介于

<div class="row-fluid">



所以我在replace中复制了Notepad++中启用正则表达式的HTML代码,并尝试替换匹配的所有内容

.*<div class="row-fluid">
*
要删除

但它根本不起作用

有人知道为什么吗


S:我不使用任何编程语言,我只需要用记事本++在HTML代码上执行这个操作,而不是在实际的HTML文件上执行。

< P>你应该考虑使用XPath进行检索。大多数语言都支持它

有一个很棒的firefox插件,当您选择一个名为xpather的页面项时,它可以推断xpath表达式

这里有一个适用于新firefox版本的黑客版本

使用Python使用XPath,考虑使用

请注意,Xpath可能对格式错误的html有问题,因此您可能还会发现一个有趣的选项来“清理”html并获得可解析的XML


你应该考虑使用XPath进行检索。大多数语言都支持它

有一个很棒的firefox插件,当您选择一个名为xpather的页面项时,它可以推断xpath表达式

这里有一个适用于新firefox版本的黑客版本

使用Python使用XPath,考虑使用

请注意,Xpath可能对格式错误的html有问题,因此您可能还会发现一个有趣的选项来“清理”html并获得可解析的XML


我用记事本++做这件事很难。根据,您需要:

  • 删除所有行(因为regexp在每行文本上执行)
  • 对整个(1行)HTML执行regexp
您要么想学习regexps,要么想解析HTML。取决于哪个,解决方案不同

如果你想学习正则表达式,这是(同样是)要解决的错误问题


如果要解决此问题(将数据保持在
之间),请查看如何解析HTML/XML。在python中,有一些很棒的库,比如BeautifulSoup(它可以处理损坏的html)。您可以通过dom解析来完成,或者一个更有趣的解决方案(对于您的问题来说可能更好)是使用SAX和每事件处理。因为你知道每次
之后你都会得到一个
,你可以做一个简单的堆栈来在两个事件之间推送所有的内容…

我用记事本++做这件事是很困难的。根据,您需要:

  • 删除所有行(因为regexp在每行文本上执行)
  • 对整个(1行)HTML执行regexp
您要么想学习regexps,要么想解析HTML。取决于哪个,解决方案不同

如果你想学习正则表达式,这是(同样是)要解决的错误问题


如果要解决此问题(将数据保持在
之间),请查看如何解析HTML/XML。在python中,有一些很棒的库,比如BeautifulSoup(它可以处理损坏的html)。您可以通过dom解析来完成,或者一个更有趣的解决方案(对于您的问题来说可能更好)是使用SAX和每事件处理。因为您知道每次
之后都会得到一个
,所以您可以做一个简单的堆栈,在两个事件之间推送所有内容…

我将通过几个步骤实现这一点

第1步。

将文档转换为一行。发现

 \r\n 
什么都没有取代。(确保在“替换”对话框中选择“扩展(\n\r,…)”选项)

第2步。

发现

什么都没有取代

第5步。

现在您只有以开头的行

~<div class="row-fluid">
~

<br /> <br /><i class="icon-user"></i>


你需要的一切只需删除这些标签


另外,如果您需要多次执行相同的任务,您可以尝试录制宏。

我将通过几个步骤实现这一点

第1步。

将文档转换为一行。发现

 \r\n 
什么都没有取代。(确保在“替换”对话框中选择“扩展(\n\r,…)”选项)

第2步。

发现

什么都没有取代

第5步。

现在您只有以开头的行

~<div class="row-fluid">
~

<br /> <br /><i class="icon-user"></i>


你需要的一切只需删除这些标签


另外,如果您需要多次执行相同的任务,您可以尝试录制宏。

使用正则表达式解析HTML是一个糟糕的主意。我还有其他可用选项吗?我这样做只是为了学习正则表达式。你使用什么语言?我没有使用任何语言。我只是使用记事本++对不同的文本执行一般的正则表达式命令。我只需要从html文件中提取特定的数据,该文件在记事本中作为源代码打开。你可以使用其他语言吗?用正则表达式解析html是一个糟糕的想法我还有其他选择吗?我这样做只是为了学习正则表达式。你使用什么语言?我没有使用任何语言。我只是使用记事本++对不同的文本执行常规正则表达式命令。我只需要从html文件中提取特定的数据,该文件在记事本中作为源代码打开。你可以使用其他语言吗?如果必须使用原始换行符保留,然后您可以修改步骤1,首先选择一个字符串,例如
qzq
,其中
zq
qz
不会出现在文档中的任何位置。然后用
qzq
替换换行符(如步骤1所示)。添加新的最后步骤6,将所有
qzq
转换回换行符。如果必须保留原始换行符,则可以首先修改步骤1
^[^~].+$\r\n
~<div class="row-fluid">
<br /> <br /><i class="icon-user"></i>