【发布时间】:2023-03-06 03:57:02
【问题描述】:
我正在使用正则表达式从 google 日历 XML 提要中查找链接,这些链接显示在以下表单中:
<a href="http://www.drsketchysdublin.com/event-registration/?ee=11">http://www.drsketchysdublin.com/event-registration/?ee=11</a>
我想用
替换它<a href="http://www.drsketchysdublin.com/event-registration/?ee=11">drsketchysdublin</a>
我正在使用以下正则表达式来匹配文本:
expression = //(<a\shref="https?[^>]+>(https?:\/\/www\.([^\.]+)\.com[^<]+)<\/a>)/ig;
然后使用替换
return element.html( element.text().replace(expression, "<a href='$1' target='"+options.target+"'>$2</a>") );
我希望 $1 的值
(https?:\/\/www\.([^\.]+)\.com[^<]+)<\/a>)
$2 是
的值([^\.]+)
我正在使用这里的代码http://gabrielizaias.com/articles/jquery-urltolink-plugin/
如何引用正则表达式的两个返回值?我尝试过诸如表达式[0]之类的东西,但没有运气。
【问题讨论】:
-
首先,您确定您的正则表达式匹配正确吗? (另请注意,许多回复会批评您使用正则表达式来导航 HTML,因为这是 JQuery 的选择器非常适合的任务)
-
非常确定 - 我一直在使用 Rad Softare Regex Designer 对其进行测试。至于您的第二点,您可能是正确的,但由于我必须在某些时候使用正则表达式来提取域名,所以我想我不妨将它用于整个事情。
标签: javascript jquery regex html dom