正则表达式使用多个元素提取html源代码
在您告诉我不要使用正则表达式解析html之前,我知道这一点,但我的公司使用Iconico数据提取器从其网站提取数据,它允许您创建自定义脚本,但它必须是javascript中的正则表达式,因此我坚持使用正则表达式来实现我的目标 我需要的是以下面的html示例为例,提取每一行正则表达式使用多个元素提取html源代码,html,regex,Html,Regex,在您告诉我不要使用正则表达式解析html之前,我知道这一点,但我的公司使用Iconico数据提取器从其网站提取数据,它允许您创建自定义脚本,但它必须是javascript中的正则表达式,因此我坚持使用正则表达式来实现我的目标 我需要的是以下面的html示例为例,提取每一行 <b>Item 1</b> Text <br> <b>Item 2</b> Text <br> <b>Item 3</b&g
<b>Item 1</b> Text <br>
<b>Item 2</b> Text <br>
<b>Item 3</b> Text <br>
<p><font color="#000000" face="Arial, Helvetica, sans-serif"><b>Item 4:</b></font></p>
<p><font color="#000000" face="Arial, Helvetica, sans-serif">Detailed Description</font></p>
项目1文本
项目2文本
项目3文本
项目4:
详细说明
我需要的是将每个项目分解为一个表达式,以检索包含标记的所有行,以及它在html中的显示方式。我已经尝试了/*详细信息(.|\s)*?\/a>/gi
,这让我得到了第4项。但我无法确定如何获得第1-3项,因为我需要的只是从到第1项(.|\s)*?\br>/gi的那一行,根本不起作用,在玩了几个小时后,我再也没有前进的余地了。如果可能的话,我还需要去掉字体标签。我认为在中间有一个结尾<代码> <代码>是复杂的。
任何人都可以提供一些关于如何设置表达式的建议。我已经知道,通用consenus对Regex来说是不可能的,所以没有必要再走这条路:)
这对我来说都是新鲜事,所以希望我能解释一下我想做什么
提前感谢我已经使用正则表达式解析html,但它还没有正常工作。我用了如下的方法。正如您所看到的,有很多“*?”表示非贪婪匹配任何字符。非常有用 你用什么语言?您可能必须设置允许解析换行符的选项,否则可能会将每一行视为单独的输入 在python中添加re.DOTALL选项。在PHP中,有一个特殊的斜杠标记可供使用
<b>(.*?)<br>.*?<b>(.*?)<br><b>(.*?)<br><p.*?sans-serif"><b>(.*?)</p>.*?serif">(.*?)</p>
(.*)
*?(.*)
(.*)
(.*)
(.*)
我使用正则表达式解析html,但在它正常工作之前。我用了如下的方法。正如您所看到的,有很多“*?”表示非贪婪匹配任何字符。非常有用
你用什么语言?您可能必须设置允许解析换行符的选项,否则可能会将每一行视为单独的输入
在python中添加re.DOTALL选项。在PHP中,有一个特殊的斜杠标记可供使用
<b>(.*?)<br>.*?<b>(.*?)<br><b>(.*?)<br><p.*?sans-serif"><b>(.*?)</p>.*?serif">(.*?)</p>
(.*)
*?(.*)
(.*)
(.*)
(.*)
为了将其与数据提取器一起使用,我做了一些关于在两个关键字之间获取数据的研究,(第1项:.*?
)/gi
工作得非常出色
不幸的是,现在有人告诉我,从现在起,标签必须被剥掉,所以我需要从头抓起。如果我需要帮助,我会发布一个新问题
非常感谢您的响应和帮助为了将此与数据提取器一起使用,我做了一些关于在两个关键字之间获取数据的研究,
(第1项:.*?
)/gi
工作得非常出色
不幸的是,现在有人告诉我,从现在起,标签必须被剥掉,所以我需要从头抓起。如果我需要帮助,我会发布一个新问题
非常感谢您的回复和帮助我真的不知道输入和实际/预期输出是什么。你能提供一个例子来说明你的需要吗?@sp00m我已经在上创建了一个JSFIDLE(尽我所能)。虽然当我运行它时,它似乎做了预期的事情,但我通过实际的数据提取器执行它,它什么也不做!我无法真正了解输入和实际/预期输出。你能提供一个例子来说明你的需要吗?@sp00m我已经在上创建了一个JSFIDLE(尽我所能)。虽然当我运行它时,它似乎做了预期的事情,但我通过实际的数据提取器执行它,它什么也不做!谢谢,我已经尝试了这段代码,不幸的是,无论是RegExr还是数据提取器软件似乎都不喜欢它。我正在使用Javascript。它似乎不喜欢引号。(.*?
*?(.*?
(.*?
)(.*?
(.*?*?serif.*?>(.*?)-无引号谢谢我试过这段代码,不幸的是,RegExr或数据提取器软件似乎都不喜欢它。我正在使用Javascript。它似乎不喜欢引号。(.*?
*?(.*?
(.*?
)(.*?
(.*?*?衬线。*?>(.*?-sans引号