Javascript 正则表达式替换通配符替换

Javascript 正则表达式替换通配符替换,javascript,regex,Javascript,Regex,我有一个很长的字符串rhKNtypd;;Nfgg;GDvyf;Fhdh-vfN;N我需要选择下一个单个字符,后跟N 因此正则表达式将选择Nt,Nf,N&N 现在我想将N替换为X,但放置在字符旁边,如tX,fX&;分别为X,这样生成的字符串将是rhKtXypd;;fXgg;GDvyf;Fhdh-vf;X;X 我已经找到了一种方法来使用这个正则表达式来完成select部分,但是我一直不知道如何提供替代项。我将在JavaScript上下文中使用这个regext解决方案,如下所示 text=text.r

我有一个很长的字符串
rhKNtypd;;Nfgg;GDvyf;Fhdh-vfN;N
我需要选择下一个单个字符,后跟
N

因此正则表达式将选择
Nt
Nf
N&
N

现在我想将
N
替换为
X
,但放置在字符旁边,如
tX
fX
&
;分别为X
,这样生成的字符串将是
rhKtXypd;;fXgg;GDvyf;Fhdh-vf;X;X

我已经找到了一种方法来使用这个正则表达式来完成select部分,但是我一直不知道如何提供替代项。我将在JavaScript上下文中使用这个regext解决方案,如下所示

text=text.replace(/N.?/g,“X”)

编辑:必须更正此打字错误:
rhKtXypd;;fXgg;GDvyf;Fhdh-vf;X;X

您似乎想要

text = text.replace(/N(.)/g, "$1X");
替换字符串中的
$1
指向第一个(也是唯一一个)匹配的子组

演示:


console.log(“rhKNtypd;;Nfgg;g;d;;vyf;f;hdh vfN;N;”。替换(/N()/g,“$1X”)你能添加你需要的输出吗?很难理解你到底想要什么,特别是关于替换后示例的结尾。你真的希望结果以
vf;XNX
?不
vf;X;不返回预期值的X
?@anubhava。它不返回预期的
rhKtXypd;;fXgg;GDvyf;Fhdh-vf;XNX
,问题还不清楚。@WiktorStribiż你说得对,我也对这一点发表了评论。我看不出问题的文本与示例如何匹配。很好的解决方案,排错的方式,更新了问题。