2017-08-02 143 views
4

是的,我試圖刪除除大寫字母之外的所有內容,儘管它看起來似乎並不順利。刪除除大寫字母之外的所有內容使用替換

我用下面的代碼,

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

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

+1

注:PHP和JavaScript有正則表達式的不同口味,這兩者都對[正則表達式的正式定義]擴展(https://en.wikipedia.org/wiki/Regular_expression ),所以它不一定是一個安全的假設,一種語言的正則表達式將轉移到另一個...並不是說這個示例不是兩個 –

回答

6

regex的末尾添加global選項 - 見下面的演示:

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

+0

之間的重疊感謝..實際上工作,爲什麼它雖然? –

+0

如果你不使用'global'選項,只有第一個字符匹配將被替換... – kukkuz

+0

這解釋了它,它在PHP中的工作方式也是一樣嗎?我幾乎沒有使用任何字符串替換。 –

4

可以使用[^A-Z]去除除大寫字母一切。還可以使用g來替換所有的事件,而不僅僅是第一個。

var str = "sOmeVALUE"; 
 

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

相關問題