2012-08-29 139 views
1

我正在寫一些原始正則表達式代碼並在線測試人員測試它們。我想在逗號前面捕獲一個字符串列表 。具體來說,我希望在逗號之前捕獲多達3個字符串。防爆。在正則表達式逗號之前捕獲字符串

string string string, 

我想捕獲「字符串字符串」(包括空格)。

我該怎麼做?

回答

5

您可以使用這樣的事情,如果你的字符串只能用逗號結尾:

(.*?), 

如果字符串包含一個逗號,這應該工作:

(.*), 

?,使第一種模式的捕獲組儘可能不貪婪。移除它會使捕獲組變得貪婪。

+0

你能解釋一下嗎?爲什麼使用「。」而不是^ \ w或[A-Z]? ? – Dombey

+0

'.'匹配任何字符。如果你想限制你的字典,請使用別的東西。 – Blender

4

捕捉人物之前逗號是最安全的辦法:^([^,]*)

說明:

^  Start of string 
(  Start of capture group 
[^,]* Any number of any non-comma characters 
)  End of capture group 
相關問題