2015-02-24 43 views
-1

下一個正則表達式按空格和逗號分割。正則表達式 - 如果位於單詞末尾,則按點分割

New Text.RegularExpressions.Regex("[ ,]+") 

另外,我想只有當點是在一個字年底發現它由點分裂。

例如:

"text." - Split. 
"2.2" - Don't Split. 
"2.a" - Don't Split. 

這是我的正則表達式:

New Text.RegularExpressions.Regex("[ ,]+") 

(如果我在逗號後面加點,它分割點,而無需考慮在字符串中的位置)

任何幫助表示讚賞!

回答

1
  • ^一個線的開頭
  • $線
  • \ b詞邊界
  • \ BA非單詞邊界
  • \ A輸入的開始的端部
  • \ G前一場比賽結束
  • \ Z輸入結束,但對於最終結束符,如果有的話
  • \ z結束輸入

http://docs.oracle.com/javase/tutorial/essential/regex/bounds.html

嘗試

New Text.RegularExpressions.Regex("[ ,]+$") 
+0

如果任何字符被錨定到字符串的末尾,這將被拆分。 OP需要一個OR條件。 – slugster 2015-02-24 09:56:27

+0

原始文章有一個C#標記,並且您引用了與Java相關的正則表達式風味網站。 – 2015-02-24 09:59:42

0

您可以點之後添加一個字邊界測試。試試這個:

[ ,]+|\.\b

在你的情況下,使用方式如下:

New Text.RegularExpressions.Regex("[ ,]+|\\.\\b")

或(首選)

New Text.RegularExpressions.Regex(@"[ ,]+|\.\b")

0

您可以簡單地使用$表示行結束

New Text.RegularExpressions.Regex("[ ,]+.$")