2016-02-01 41 views
0

我的問題似乎微不足道,但我似乎無法理解我做錯了什麼。我試圖通過使用正則表達式來查找句子的結尾。事情是,我只想說,在一個字裏面有兩個以上字母的時期,這樣我就可以避免「聖尼古拉斯」的誤判。正則表達式,負面看後面javascript

我現在的表現是:

/\w{3,}\./g 

然而,這似乎選擇整個單詞,而不僅僅是時期。我究竟做錯了什麼?

編輯:
我期待

"St. Kitts is really cool. Like seriously, sweet." 

後「酷」和「甜蜜蜜」,而不是後,兩個「聖」回報期

編輯2:
這是在Javascript,所以(< =文字?)一個正常的回顧後會無法正常工作

+0

是的,因爲它會匹配長度爲'3'或更多**的單詞。你需要修改你的匹配條件。 –

+0

'(?<= \ w {3})\。'如果句點前有3個字母,這將匹配。 –

+0

不幸的是,我在Javascript中這樣做,不能做一個正常的後臺。 –

回答

0

您可以使用組:

var myRegexp = \w{3,}(\.); 
var match = myRegexp.exec(your string); 
alert(match[1]); // Here you should have captured the period 

,如果有不止一個期間:

match = myRegexp.exec(myString); 
while (match != null) { 
    // matched period: match[1]   
    match = myRegexp.exec(myString); 
}