2010-08-29 40 views
2

我希望能夠把從應格式化像這樣的用戶的文本字符串列表:如何使一個正則表達式查找用空格分隔擴展

.ext1 .ext2 .ext3 ...

基本上,我正在尋找一個點,一串任意長度的字母數字字符的空間,然後沖洗並重復。我對如何說「我需要一段時間,一串字符和一個空間」有點困惑。 但是,最後擴展名可能後面沒有任何內容,或空格或一系列空格。另外,我猜在兩個擴展之間可以跟着任意數量的空格?

編輯:我更清楚了我在找什麼。

謝謝!

+2

什麼語言你在用嗎? – SLaks 2010-08-29 18:26:31

+0

「最後的模式」背後有什麼?我不太明白;-) – 2010-08-29 18:28:14

+0

我正在使用Java – NewImageUser 2010-08-29 19:00:00

回答

1

試試這個:

 
^(?:\.[A-Za-z0-9]+ +)*\.[A-Za-z0-9]+ *$ 

(Rubular)

在Java字符串文字,你需要躲避反斜線:

"^(?:\\.[A-Za-z0-9]+ +)*\\.[A-Za-z0-9]+ *$" 
+0

你是什麼意思,「在該字符串之前至少還有一個空格?」 – NewImageUser 2010-08-29 19:00:47

+0

我在 – NewImageUser 2010-08-29 19:01:44

+0

以上清晰地表達了我的問題,非常感謝! – NewImageUser 2010-08-29 19:26:29

1

(\.\w+)\s*匹配這一點,並給你結果。
^((\.\w+)\s*)*$檢查這個,如果它是真的,你的字符串正是你想要的。

對於最後一個模式的事情,你不能(AFAIK)既獲取所有擴展(分離),並檢查最後一個跟隨其他事情。要麼檢查您的字符串,要麼從中提取擴展名。

+0

基本上,我只是希望能夠找到 .txt .docSome .rtf .etasd – NewImageUser 2010-08-29 19:00:19

+0

我讓我的問題更清楚地在上面 – NewImageUser 2010-08-29 19:02:17

+0

但是,您是否想提取這些擴展?或者檢查文字是否只包含擴展名,空格加上最後一項? – 2010-08-29 19:08:26

0

我喜歡的東西開始:^ [A-Z0-9] +([\ t \ n \ V] + [A-Z0-9] +)* $

相關問題