Perl 正则表达式模式匹配
我想使用名为 source.html
或 source.txt
: 的源文件中的正则表达式
<OPTION value=5> 5 - Course Alpha (3)</OPTION> <OPTION value=6> 6 - Course Beta (3)</OPTION>
来获取:
5 - Course Alpha (3)
6 - Course Beta (3)
我的意思是我必须找到一个模式:
<OPTION v
所以
finding first number after it
获取所有内容,直到我请参阅:
</OPTION>
如何使用正则表达式通过 Perl 实现它?
PS:它应该从文件中读取内容并将输出写入文件。
I want to use regex from a source file named source.html
or source.txt
:
<OPTION value=5> 5 - Course Alpha (3)</OPTION> <OPTION value=6> 6 - Course Beta (3)</OPTION>
to get:
5 - Course Alpha (3)
6 - Course Beta (3)
I mean I have to find a pattern:
<OPTION v
and
finding first number after it
so getting everything till I see:
</OPTION>
How can I implement it with Perl using Regex?
PS: It should read the content from a file and write output to a file.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您不想使用正则表达式,您想使用 HTML 解析器。这是一个 好关于该主题的文章解释了为什么正则表达式很脆弱以及如何使用HTML::树构建器。
还有关于从 HTML 文档中提取数据的一小堆类似的问题和答案。
You do not want to use a regex, you want to use an HTML parser. Here's a good article on the subject which explains why regexes are fragile and how to use HTML::TreeBuilder.
There's also a small pile of similar questions and answers about extracting data from HTML documents.
怎么样?
http://regexr.com?2thm8
您将在第一个捕获组中找到字符串。
What about
http://regexr.com?2thm8
There you will find your strings in the first capturing group.