html - Perl 正则表达式模式匹配

标签 html regex perl pattern-matching

我想使用名为 source.htmlsource.txt 的源文件中的正则表达式:

<OPTION value=5>&nbsp;&nbsp;5 - Course Alpha (3)</OPTION> <OPTION value=6>&nbsp;&nbsp;6 - Course Beta (3)</OPTION>

获取:

5 - Course Alpha (3)
6 - Course Beta (3)

我的意思是我必须找到一种模式:

<OPTION v

 finding first number after it 

所以得到一切,直到我看到:

</OPTION>

如何使用正则表达式通过 Perl 实现它?

PS:它应该从文件中读取内容并将输出写入文件。

最佳答案

您不想使用正则表达式,您想使用 HTML 解析器。这是 good article on the subject这解释了为什么正则表达式很脆弱以及如何使用 HTML::TreeBuilder .

还有a small pile of similar questions and answers关于从 HTML 文档中提取数据。

关于html - Perl 正则表达式模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5650376/

相关文章:

perl - 在Perl中将文件复制到尚未创建的目录树中的最佳方法是什么?

linux - 在 Perl 中将系统命令分配给数组

jquery - JQuery.validate 的数字规则不适用于数字输入

html - 如何使整个跨度落入新行?

html - 如何在之前和之后使用带有背景颜色的插图框阴影?

html - 具有垂直居中图像和文本的单个单元格行?

c# - 找不到正确的正则表达式模式来获取 html 标签之间的值

perl - 如何回读 Data::Dumper 的输出?

javascript - 使用 Javascript 正则表达式避免回溯

regex - 正则表达式强制执行复杂密码,匹配 4 条规则中的 3 条