2014-02-20 24 views
0

我想匹配三個連續的點(「。」),隨後可以選擇一個空格。什麼似乎是正確的正則表達式不起作用替換函數

我的想法是以下幾點:

\.\.\.\s? 

Tested it here,似乎像預期的那樣做完全。

但後來當我嘗試與JavaScript的似乎不工作的替換功能使用它,這是很奇怪的,除非我失去了一些愚蠢的:

replace("\.\.\.\s?", "") 

不工作,請參閱live demo here

我錯過了什麼?

+0

'新RegeExp'或使用面值的正則表達式。 '替換(新的RegExp(「\\。\\。\\。\\ s?」),「」)或者替換(\\。\。\。\ s?/,「」)' – Xotic750

回答

3

正則表達式不應該在引號中。試試...

mystr.replace(/\.\.\.\s?/, "") 

jsfiddle

+0

Damn,也許我不應該在4點編程:)謝謝! – Trufa

1
$('div').text("... hi".replace(/\.{3}/gi, "")); 

略優化正則表達式。

2

String.replace的第一個參數必須是RegExp對象,而不是String。將其更改爲:

$('div').text("... hi".replace(/\.\.\.\s?/, "")); 

或者,

$('div').text("... hi".replace(new RegExp("\\.\\.\\.\\s?"), "")); 
+1

你的第二個例子不正確。 – Xotic750

+0

我犯了一個錯字,並對其進行了編輯。或者是別的什麼? – Anachronous

+0

看看我在這個問題下的評論。 – Xotic750

相關問題