0

如何用示例“-”替换此字符串中没有“X”的每个字母:

"XASDXDAX".replace(/([AZ^X])/,"-") 应该返回:"X---X--X"

正则表达式中一定有问题或其他问题,我该如何解决?

4

4 回答 4

4

你已经接近了,你只需要添加g修饰符(对于“全局”),并且你不能同时表达一个类和一个否定类(如果它是第一个字符,^则唯一特殊[]),所以只需列出范围。此外,您不需要捕获组(()):

result = "XASDXDAX".replace(/[A-WY-Z]/g,"-");
于 2013-04-02T08:21:49.380 回答
1
"XASDXDAX".replace(/([A-WYZ])/g,"-")
于 2013-04-02T08:22:51.427 回答
1

这是您正在搜索的简单正则表达式。试试这个

 var str="XASDXDAX".replace(/[^X]/g,"-");
于 2013-04-02T08:34:48.440 回答
0

您还可以使用带全局修饰符的否定类g来替换每个非 X 字符:

"XASDXDAX".replace(/([^X])/g,"-")
于 2013-04-02T08:34:49.213 回答