Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript正则表达式:如果尚未替换,则用URL替换字符串_Javascript_Regex - Fatal编程技术网

Javascript正则表达式:如果尚未替换,则用URL替换字符串

Javascript正则表达式:如果尚未替换,则用URL替换字符串,javascript,regex,Javascript,Regex,我试图用String.replace解决以下问题: 我有一个随机文本,其中包含一些系统中的票证ID,例如JIRA-123。我想用降价链接替换,如下所示: text.replace(/(JIRA-\d+)/g,“[$1](example.com?id=$1)” 我正在努力解决的问题是,我希望这个操作是幂等的,也就是说,如果一个给定的ID已经包装在URL中,我希望它被忽略,我正在努力找出一个正确的表达式来实现这一点 有什么帮助吗?首先,generateLink($1”)不起作用。@WiktorStr

我试图用String.replace解决以下问题:

我有一个随机文本,其中包含一些系统中的票证ID,例如JIRA-123。我想用降价链接替换,如下所示:

text.replace(/(JIRA-\d+)/g,“[$1](example.com?id=$1)”

我正在努力解决的问题是,我希望这个操作是幂等的,也就是说,如果一个给定的ID已经包装在URL中,我希望它被忽略,我正在努力找出一个正确的表达式来实现这一点


有什么帮助吗?

首先,
generateLink($1”)
不起作用。@WiktorStribiżew fixedYes,所以只需遵循第二个链接线程:交替使用标记URL模式(p1)和普通URL正则表达式(p2),捕获需要保留的内容,只修改匹配和未捕获的内容(即
s.replace(/(p1)| p2/g,(x,y)=>y?x:process(x))
@WiktorStribiżew票证id
/(JIRA-\d+)/g
表达式在这个解决方案中适用于哪里?好的,我想你的意思是p2是一个票证模式-我想我让它工作了,谢谢:)