gpt4 book ai didi

JavaScript 正则表达式全局选项不起作用(正如我所期望的那样)

转载 作者:行者123 更新时间:2023-11-28 13:33:01 24 4
gpt4 key购买 nike

考虑

a = '<img src="one.png" alt="One"> <img src="two.png" alt="Two">' + "\n" + 
'<img src="thr.png" alt="Thr"> <img src="fou.png" alt="Fou">'
i = '/a/b/c/d/blah'
b = a.replace(/<img src="(.*)"(.*)>/g, '<img src="' + i + '/$1"$2>')

结果

'<img src="/a/b/c/d/blah/one.png" alt="One"> <img src="two.png" alt="Two">\n<img src="/a/b/c/d/blah/thr.png" alt="Thr"> <img src="fou.png" alt="Fou">'

考虑到 /g 选项,我真的希望(并且希望)src 的四个实例的所有实例都以 i< 的值作为前缀。我的错误是什么?

最佳答案

我认为.*是贪婪的,所以它会继续下去,直到找到它旁边的最后一个出现的地方。如果添加? ,就不会贪心了。所以-

/<img src="(.*?)"(.*?)>/g

或者您可以更具体(任何不是 " 及更高版本的字符,任何不是 > 的字符)-

/<img src="([^"]*)"([^>]*)>/g

(或两者)

关于JavaScript 正则表达式全局选项不起作用(正如我所期望的那样),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23461387/

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