Javascript正则表达式占位符打印字符串而不是其值
我有一个javascript函数,它查找特定格式的字符串,然后将其转换为链接Javascript正则表达式占位符打印字符串而不是其值,javascript,regex,Javascript,Regex,我有一个javascript函数,它查找特定格式的字符串,然后将其转换为链接 变量re=/Ticket-([0-9]*?(?=-)-[0-9]*)/; var str='ASD票证-492-367-让我开心一天'; t=str.replace(重“”) 文件。编写(t); Javascript使用$&作为整个匹配的占位符,而不是$0$number仅用作括号中捕获组的占位符。看 var re=/Ticket-([0-9]*?(?=-)-[0-9]*)/; var str='ASD票证-492
变量re=/Ticket-([0-9]*?(?=-)-[0-9]*)/;
var str='ASD票证-492-367-让我开心一天';
t=str.replace(重“”)
文件。编写(t);
Javascript使用$&
作为整个匹配的占位符,而不是$0
$number
仅用作括号中捕获组的占位符。看
var re=/Ticket-([0-9]*?(?=-)-[0-9]*)/;
var str='ASD票证-492-367-让我开心一天';
t=str.replace(重“”)
document.getElementById('result').innerHTML=t代码>
Javascript使用$&
作为整个匹配的占位符,而不是$0
$number
仅用作括号中捕获组的占位符。看
var re=/Ticket-([0-9]*?(?=-)-[0-9]*)/;
var str='ASD票证-492-367-让我开心一天';
t=str.replace(重“”)
document.getElementById('result').innerHTML=t代码>
尝试两次逃离美元
\\$
试着逃避美元两次
\\$
如果要匹配列表,则应使用/g使正则表达式全局化$0不获取匹配的值,$&获取匹配的值
这是一把小提琴:
编辑:显然是JSFIDLE坏了还是怎么的。我使用的HTML是:
<!DOCTYPE html>
<html>
<body>
Ticket-445-1235 - Make my day<br>
Ticket-445-1255 - Make his day<br>
Ticket-443-4356 - He's feeling lucky<br>
Ticket-443-5555 - punk<br>
</body>
</html>
票证-445-1235-让我开心
票-445-1255-让他开心一天
票-443-4356-他感到很幸运
票-443-5555-朋克
带有调整的javascript是:
window.onload = function() {
var re = /Ticket-([0-9]*?(?=-)-[0-9]*)/g;
var str = document.body.innerHTML;
t = str.replace(re,'<a href="http://myworld/ticket/$1">$&</a>')
document.write(t);
}
window.onload=function(){
变量re=/Ticket-([0-9]*?(?=-)-[0-9]*)/g;
var str=document.body.innerHTML;
t=str.replace(重“”)
文件。编写(t);
}
如果要匹配列表,则应使用/g使正则表达式全局化$0不获取匹配的值,$&获取匹配的值
这是一把小提琴:
编辑:显然是JSFIDLE坏了还是怎么的。我使用的HTML是:
<!DOCTYPE html>
<html>
<body>
Ticket-445-1235 - Make my day<br>
Ticket-445-1255 - Make his day<br>
Ticket-443-4356 - He's feeling lucky<br>
Ticket-443-5555 - punk<br>
</body>
</html>
票证-445-1235-让我开心
票-445-1255-让他开心一天
票-443-4356-他感到很幸运
票-443-5555-朋克
带有调整的javascript是:
window.onload = function() {
var re = /Ticket-([0-9]*?(?=-)-[0-9]*)/g;
var str = document.body.innerHTML;
t = str.replace(re,'<a href="http://myworld/ticket/$1">$&</a>')
document.write(t);
}
window.onload=function(){
变量re=/Ticket-([0-9]*?(?=-)-[0-9]*)/g;
var str=document.body.innerHTML;
t=str.replace(重“”)
文件。编写(t);
}
但它在cas eof$1中有效。为什么?如何区分匹配的组$number
用于括号中的捕获组$&
用于匹配整个regexp。作为一个有用的注释,在页面左侧有一个很棒的参考部分。如果你转到Reference->Substitution,它会实时给出操作符之间的差异和示例。但是它在cas eof$1中有效。为什么?如何区分匹配的组$number
用于括号中的捕获组$&
用于匹配整个regexp。作为一个有用的注释,在页面左侧有一个很棒的参考部分。如果您转到Reference->Substitution,它将实时为您提供运算符之间的差异和示例。这将在替换中添加文字反斜杠。这将在替换中添加文字反斜杠。