gpt4 book ai didi

javascript - 无法在javascript中测试正则表达式

转载 作者:行者123 更新时间:2023-11-30 10:34:02 24 4
gpt4 key购买 nike

我对 RegExp 非常陌生,我正在尝试实现它来检测字符串中的 url。我想使用的一个正则表达式是这个(请不要提供你自己的):

/(((http|ftp|https)://)?[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?)/g

并用这个替换所有匹配项:

<a href="$1">$1</a>

如果您访问 http://gskinner.com/RegExr/使用该示例并在替换中使用它,您会发现它可以完美地工作,但不可能在 javascript 中使用它构建一个有效的解决方案。

var text = "hi, demo link http://stackoverflow.com is a great website"
//regexp magic


//expected result:
textWithLink ="hi, demo link <a href="http://stackoverflow.com">http://stackoverflow.com</a> is a great website"

最佳答案

var str = 'hi, demo link http://stackoverflow.com is a great website',
regex = /(((http|ftp|https):\/\/)?[\w-]+(\.[\w-]+)+([\w.,@?^=%&amp;:\/~+#-]*[\w@?^=%&amp;\/~+#-])?)/g;
str.replace(regex, '<a href="$1">$1</a>');

注意:这是您的正则表达式,我只是转义了正斜杠。

关于javascript - 无法在javascript中测试正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15092751/

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