当前位置:  开发笔记 > 编程语言 > 正文

正则表达式 - 匹配具有可选属性的所有锚点

如何解决《正则表达式-匹配具有可选属性的所有锚点》经验,为你挑选了1个好方法。

我的后端有一个所见即所得的编辑器,它正在掀起我写的第一个正则表达式.这是在PHP4中使用的preg_replace().我正在捕获URI和链接文本.

@(.*)<\/a>@siU

客户希望所有外部链接在新窗口中打开,这是我用来查找所有(希望)外部链接的表达式,但保留内部,页面锚点链接等

我意识到如果用户在链接上选择粗体,那么wysiwyg编辑器也会添加.我最近才开始学习正则表达式,所以我不确定如何解决这个问题.

我该怎么办?



1> nickf..:

这应该匹配好吧:

/]*)href="https?:\/\/([^"]*)"(.*?)>(.*?)<\/a>/

这里有用的是懒惰的比赛.*?这意味着它会只匹配一样,因为它是绝对有需要,而不是常规赛,这是贪婪.

用这个文字来证明:

a b c d a b c d

这些正则表达式将有不同的结果:

/a.*c/    selects: "a b c d a b c"
/a.*?c/   selects: "a b c"

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有