在正则表达式逗号之前捕获字符串

时间:2012-08-29 22:16:42

标签: regex capture

我正在编写一些原始的Regex代码并在在线测试人员上测试它们。我想要正确捕获字符串列表 在逗号之前。具体来说,我想在逗号之前捕获最多3个字符串。实施例

string string string,

我想捕获“字符串字符串”(包括空格)。

我该怎么做?

3 个答案:

答案 0 :(得分:9)

如果你的字符串只以逗号结尾,你可以使用这样的东西:

(.*?),

如果你的字符串包含一个逗号,那么这应该有效:

(.*),

?使第一个模式的捕获组尽可能不贪婪。删除它会使捕获组变得贪婪。

答案 1 :(得分:9)

在逗号之前捕获字符的最安全方法是:^([^,]*)

说明:

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

答案 2 :(得分:0)

您要使用此表达式:

^[^,]+

从字符串的开头开始,获取所有非逗号。