多行正则表达式
我正在尝试匹配此文本:
<a href="http://english317.ning.com/profiles/blogs/bad-business-writing-487">Continue</a>
</div>
<p class="small">
Added by <a href="/profile/KemberleyRamirez">Kemberley Ramirez</a> on September 2, 2010 at 11:38pm
我想获取 /blogs 之后的文本(例如“bad-business-writing-487”)以及添加的字符串(学生姓名和提交日期)(例如“ Kemberley Ramirez 于 2010 年 9 月 2 日晚上 11:38")
我正在使用带有 Perl 表达式的 UltraEdit。
I'm trying to match out of this text:
<a href="http://english317.ning.com/profiles/blogs/bad-business-writing-487">Continue</a>
</div>
<p class="small">
Added by <a href="/profile/KemberleyRamirez">Kemberley Ramirez</a> on September 2, 2010 at 11:38pm
I'd like to get the text after /blogs (e.g. "bad-business-writing-487") and also the added by string (Student Name and submit date) (e.g. "Kemberley Ramirez on September 2, 2010 at 11:38pm")
I'm using UltraEdit with Perl expressions.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我不知道你到底想匹配什么,但你最好使用合适的 HTML 解析器:
I don't know what exactly you are trying to match, but you are better off using a proper HTML parser:
在“点匹配换行符”模式下使用 PowerGrep,我想出了这个:(
然后是额外的处理搜索)
<
?a.*?>Using PowerGrep in "dot matches newline" mode, I came up with this:
(and then an extra processing search)
<
?a.*?>/s 和 /m 修饰符控制如何处理多行。
请参阅 perlretut
您可能想要带有 /s 修饰符的 rrr reg.exps 之类的东西,或者类似的东西这个:(未经测试)
使用 m||而不是 // 以避免所有转义..
The /s and /m modifiers control how multiple lines are handled.
see perlretut
You probably want something like rrr reg.exps with the /s modifier, or something like this: (untested)
Using m|| instead of // to avoid all the escaping ..
以下应该适用于多行:
Following should work for multiple lines: