我想匹配三個連續的點(「。」),隨後可以選擇一個空格。什麼似乎是正確的正則表達式不起作用替換函數
我的想法是以下幾點:
\.\.\.\s?
Tested it here,似乎像預期的那樣做完全。
但後來當我嘗試與JavaScript的似乎不工作的替換功能使用它,這是很奇怪的,除非我失去了一些愚蠢的:
replace("\.\.\.\s?", "")
不工作,請參閱live demo here。
我錯過了什麼?
我想匹配三個連續的點(「。」),隨後可以選擇一個空格。什麼似乎是正確的正則表達式不起作用替換函數
我的想法是以下幾點:
\.\.\.\s?
Tested it here,似乎像預期的那樣做完全。
但後來當我嘗試與JavaScript的似乎不工作的替換功能使用它,這是很奇怪的,除非我失去了一些愚蠢的:
replace("\.\.\.\s?", "")
不工作,請參閱live demo here。
我錯過了什麼?
這應該工作$('div').text("... hi".replace(/\.\.\.\s?/, ""));
String.replace()
它可以是一個字符串或正則表達式作爲第一個參數。如果它是一個字符串,那麼它是逐字搜索的。 https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/String/replace
$('div').text("... hi".replace(/\.{3}/gi, ""));
略優化正則表達式。
String.replace
的第一個參數必須是RegExp對象,而不是String。將其更改爲:
$('div').text("... hi".replace(/\.\.\.\s?/, ""));
或者,
$('div').text("... hi".replace(new RegExp("\\.\\.\\.\\s?"), ""));
'新RegeExp'或使用面值的正則表達式。 '替換(新的RegExp(「\\。\\。\\。\\ s?」),「」)或者替換(\\。\。\。\ s?/,「」)' – Xotic750