2017-08-10 46 views

回答

4

你想要的是一個 '負回顧後' 斷言:

(?<!\.)\.\z 

這看起來一段在一個字符串的結尾之前沒有時間段。其他答案不匹配下面的字符串:"."

此外,您可能需要尋找對Unicode字符的省略號...... 您可以檢測到這種像這樣:str =~ /\u{2026}/

+0

@CarySwoveland好點。我會更新我的答案 – aidan

+0

是的,我沒有意識到,但我的一些字符串有'..'。所以這個解決方案對我的用例來說是最好的。謝謝! –

2

您可以使用:

[^\.][\.]\z 

你正在尋找一個字符串的最後一個點之前還有一個字符不是一個點。

+1

是否'\ .'需要被在'[]'中? –

+1

@ sagarpandya82是的,因爲你需要排除一個字符 - 所以你需要一組字符來排除 – Dekel

+1

我的意思是最後的'。'比賽。是不是'[\。]'與'[。]'是相同的'\ .'? –

0

我喜歡Regexr很多!

溶液使用類似於德克爾:

[^.]+[.] 

Live demo

+0

我編輯的答案中包含了您的解決方案,並避免了_link唯一的答案_,我希望您不介意。 :) – Gerry

+1

「my.cat」或「。」怎麼樣? '[。]'而不是'\ .'是可以的,但我不能說我以前見過它。 –

相關問題