2个字符串替换javascript

2个字符串替换javascript,javascript,regex,Javascript,Regex,我是初学者,如何将它们结合起来: var mystring = "my.email@computer.com"; document.write(mystring.replace(/@/, "&&")); 打印my.email和&computer.com var mystring = "my.email@computer.com"; document.write(mystring.replace(/\./, "##")); 打印my##email@computer.com va

我是初学者,如何将它们结合起来:

var mystring = "my.email@computer.com";
document.write(mystring.replace(/@/, "&&"));
打印
my.email和&computer.com

var mystring = "my.email@computer.com";
document.write(mystring.replace(/\./, "##"));
打印
my##email@computer.com

var mystring = "my.email@computer.com";
document.write(mystring.replace(/\./, "##"));
我有两个问题:
如何生成这个正则表达式(mystring.replace(/。/,“##”)呢要在
@
之后将
点更改为
##
,我如何将这两行合并为一行,最终阅读如下:
my.email和&computer\com
您可以使用split在/@/处拆分字符串,并将第二个regexp应用于字符串的第二部分,然后将结果与&>合并在一起。

input:
my.first.last合并。email@example.computer.com

var mystring = "my.email@computer.com";
document.write(mystring.replace(/\./, "##"));
结果:
my.first.last.email&&example###computer#com

var mystring = "my.email@computer.com";
document.write(mystring.replace(/\./, "##"));
解决方案1:

var mystring = "my.first.last.email@example.computer.com";
//replace '.' after '@' with '##', then replace '@' with '&&'.
var result = mystring.replace(/(?!.*@)\./g, "##").replace(/@/, "&&");
document.write(result);
解决方案2(可配置):


输入:
my.first.last。email@example.computer.com

var mystring = "my.email@computer.com";
document.write(mystring.replace(/\./, "##"));
结果:
my.first.last.email&&example###computer#com

var mystring = "my.email@computer.com";
document.write(mystring.replace(/\./, "##"));
解决方案1:

var mystring = "my.first.last.email@example.computer.com";
//replace '.' after '@' with '##', then replace '@' with '&&'.
var result = mystring.replace(/(?!.*@)\./g, "##").replace(/@/, "&&");
document.write(result);
解决方案2(可配置):

试试这个

var mystring = "my.email@computer.com";
document.write(mystring.replace(/(.*@.*)\./, "$1##").replace(/@/, "&&"));
试试这个

var mystring = "my.email@computer.com";
document.write(mystring.replace(/(.*@.*)\./, "$1##").replace(/@/, "&&"));
试试这个:

var mystring = "my.email@computer.com"
document.write(mystring.replace(/\.(?!\w+@)/, '##').replace(/@/, '&&'));
试试这个:

var mystring = "my.email@computer.com"
document.write(mystring.replace(/\.(?!\w+@)/, '##').replace(/@/, '&&'));
这应该起作用:

var mystring = "my.email@computer.com";
document.write(mystring.replace(/(.*?)(@)(.*?)(\.)(.*)/, "$1&&$3##$5"));
结果:

my.email&&computer##com
看到它在这里工作:

这应该可以工作:

var mystring = "my.email@computer.com";
document.write(mystring.replace(/(.*?)(@)(.*?)(\.)(.*)/, "$1&&$3##$5"));
结果:

my.email&&computer##com


看到它在这里工作:

mystring.replace(/@/,“&&&>).replace(/\,“##”)
:)等一下,你期望的结果是
my.email和computer#com
而不是
my#email和computer#com
?@Rain Diao是的,需要这个
my.email和computer##com
,也请看替换mystring解决方案(
).replace(/\。/,“##############com,“##################com(################,我想打印
my.email和&computer###com
再次感谢,未命名语法错误:意外令牌;在第15行,谢谢@Rain Diao,它会打印
my#######com
,我想正则表达式应该是这样的,在
之前什么都不做,在
之后,然后替换
他使用的
/g
,这意味着所有
都将被
替换为
是的,但删除
/g
,它不会替换最后一个
,只需要替换最后一个
谢谢,但它会打印
我的电子邮件和计算机.com
,我想打印
我的.email和计算机.com
,再次感谢,未标记的语法错误:意外标记;在第15行,谢谢@Rain Diao,它会打印
my#######com
,我想正则表达式应该是这样的,在
之前什么都不做,在
之后,然后替换
他使用的
/g
,这意味着所有
都将被
替换为
是的,但删除
/g
,它不替换最后一个
,只需要替换最后一个
更新的答案,以跳过@之前的替换点。@olo记住,这只替换了一次@和点。更新的答案以跳过@之前的替换点。@olo记住,这只替换了一次出现的@和点。@olo-我没有注意到您想用两个“&”替换“@”。。。现在修好了。在单个正则表达式中,您将得到“&&”而不是“@”replace@olo-我没有注意到您想用两个替换“@”&“。。。现在修好了。在单个正则表达式替换中,您将得到“&&”而不是“@”