我正在使用这个正则表达式:
\b(((\S+)?)(@|mailto\:|(news|(ht|f)tp(s?))\://)\S+)\b
匹配此文本字符串(是的,它包含转义的HTML):
< ahref="http://www.somesite.com/" target="_blank">
但是当我在Expresso(或任何其他正则表达式程序)中运行它时,我检索的是:
ahref="http://www.somesite.com
我需要整个字符串,包括<
和target="_blank">
我的正则表达式中缺少什么才能使其发挥作用?
答案 0 :(得分:1)
阅读你的正则表达式,你正在寻找两个单词中断之间的东西(即空格,或行的开始/结束等);然后,除了空白之外的任何东西,接着是看起来像URI直到下一个单词中断的任何东西,所以你的模式明确地寻找不包含你所说的你所追求的空格的东西。
答案 1 :(得分:1)
“我的正则表达式中缺少什么让这项工作成功?”
<[\s\S]*?\b(((\S+)?)(@|mailto\:|(news|(ht|f)tp(s?))\://)\S+)\b[\s\S]*?>