2012-08-29 117 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 
相关问题