删除除大写字母之外的所有内容使用替换

问题描述:

是的,我试图删除除大写字母之外的所有内容,尽管它看起来似乎并不顺利。删除除大写字母之外的所有内容使用替换

我用下面的代码,

String.replace(/(?![A-Z])./, ''); 

它似乎没有正常工作,而它使用PHP不工作。

+1

注:PHP和JavaScript有正则表达式的不同口味,这两者都对[正则表达式的正式定义]扩展(https://en.wikipedia.org/wiki/Regular_expression ),所以它不一定是一个安全的假设,一种语言的正则表达式将转移到另一个...并不是说这个示例不是两个 –

regex的末尾添加global选项 - 见下面的演示:

console.log("AkjkljKK".replace(/(?![A-Z])./g, ''));

+0

之间的重叠感谢..实际上工作,为什么它虽然? –

+0

如果你不使用'global'选项,只有第一个字符匹配将被替换... – kukkuz

+0

这解释了它,它在PHP中的工作方式也是一样吗?我几乎没有使用任何字符串替换。 –

可以使用[^A-Z]去除除大写字母一切。还可以使用g来替换所有的事件,而不仅仅是第一个。

var str = "sOmeVALUE"; 
 

 
console.log(str.replace(/[^A-Z]/g, ""));