gpt4 book ai didi

Javascript 正则表达式占位符打印字符串而不是其值

转载 作者:行者123 更新时间:2023-11-28 15:24:55 26 4
gpt4 key购买 nike

我有一个 JavaScript 函数,它查找特定格式的字符串,然后将其转换为链接

<script>
var re = /Ticket-([0-9]*?(?=-)-[0-9]*)/;
var str = 'ASD Ticket-492-367 - Make my day.';
t = str.replace(re,'<a href="http://myworld/ticket/$1">$0</a>')
document.write(t);
</script>

它会查找 Ticket-[somenumbers]-[somenumbers] 并将其转换为链接。现在,当我在在线 JS 编辑器中单独运行它时,它就可以工作了。但是,当我在脚本中运行它并查看页面时,它确实将字符串转换为列表,但在页面上打印出文字 $0 而不是其值。我的 Javascript 是否正确,或者我的脚本中是否有其他内容可能导致错误的结果。一如既往,我们感谢任何帮助。

最佳答案

Javascript 使用 $& 作为整个匹配的占位符,而不是 $0 $number 仅用作捕获组的占位符括号。请参阅MDN

var re = /Ticket-([0-9]*?(?=-)-[0-9]*)/; 
var str = 'ASD Ticket-492-367 - Make my day.';
t = str.replace(re,'<a href="http://myworld/ticket/$1">$&</a>')
document.getElementById('result').innerHTML = t;
<div id="result"></div>

关于Javascript 正则表达式占位符打印字符串而不是其值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29439739/

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