JavaScript-Regex-如何替换从A到Z的每个字符(X除外)?

JavaScript-Regex-如何替换从A到Z的每个字符(X除外)?,javascript,regex,replace,Javascript,Regex,Replace,如何将此字符串中没有“X”的每个字母替换为示例“-”: “XASDXDAX”.replace(/([A-Z^X])/,“-”)应返回:“X--X--X” 正则表达式中一定有问题,或者其他什么问题,我如何修复它?你很接近了,你只需要添加g修饰符(表示“全局”),并且你不能同时表示一个类和一个被否定的类(如果它是第一个字符,^在[]中是特殊的),所以只列出范围。此外,您不需要捕获组(即()): 很接近,您只需要添加g修饰符(用于“全局”),并且您不能同时表示类和被否定的类(如果是第一个字符,^仅在[

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

“XASDXDAX”.replace(/([A-Z^X])/,“-”)应返回:“X--X--X”


正则表达式中一定有问题,或者其他什么问题,我如何修复它?

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


很接近,您只需要添加
g
修饰符(用于“全局”),并且您不能同时表示类和被否定的类(如果是第一个字符,
^
仅在
[]
中特别),所以只需列出范围。此外,您不需要捕获组(即
()
):


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

 var str="XASDXDAX".replace(/[^X]/g,"-");

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

 var str="XASDXDAX".replace(/[^X]/g,"-");

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

"XASDXDAX".replace(/([^X])/g,"-")

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

"XASDXDAX".replace(/([^X])/g,"-")

假设字符串中没有超出范围
A-Z
的字符。这对于示例字符串是正确的,但是。。。也就是说,OP确实说“…在这个字符串中…”,为了简单起见,所以+1。假设字符串中没有超出范围
A-Z
的字符。这对于示例字符串是正确的,但是。。。也就是说,OP确实说了“…在这个字符串中…”,为了简单起见,所以+1。