gpt4 book ai didi

javascript - URL 匹配正则表达式并不总是有效

转载 作者:行者123 更新时间:2023-11-28 01:14:30 25 4
gpt4 key购买 nike

任何对正则表达式有深入了解的人都可以向我解释为什么这个正则表达式不适用于我的示例文本吗?或者更好的是,提出一个实际有效的正则表达式。

/((?:(?:ht|f)tps?:\/\/|www)[^<>\]]+?(?![^<>\]]*([>]|<\/))(?=[\s!,\]]|$))/igm

正则表达式来自这个问题:URL replace with anchor, not replacing existing anchors

示例文本:

"This is a simple test. \r\n\r\n" + 
"<u><b>A bold header with underscore:<\/b><\/u>\r\n" +

"<i>THESE AREN'T TRANSFORMED. WHY??<\/i>\r\n" +
"* http:\/\/www.example.net\/edit.php\r\n" +
"* http:\/\/www.example.net\/test.php -> Some text\r\n" +

"<i>THESE ARE:<\/i>\r\n" +
"* http:\/\/www.example.net\/invite.php\r\n" +
"* http:\/\/www.example.net\/forums.php\r\n"

Complete example of problem here

最佳答案

这是我的想法:

((?:(?:ht|f)tps?:\/\/|www)[^<>\]]+?(?![^<>\]]*(><\/))(?=[\s!,\]]|$))/igm

我用你的字符串测试了它,它正在工作......

我改变了你的旧正则表达式 ([>]|<\/)(><\/) ...您在这种情况下需要进行 OR 操作,以便有可能匹配所有内容。

输出如下:

  • www.example.net/edit.php\r\n"
  • www.example.net/test.php
  • www.example.net/invite.php\r\n"
  • www.example.net/forums.php\r\n"

我希望这是您所需要的。

关于javascript - URL 匹配正则表达式并不总是有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24003095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com