具有可变长度的子字符串的正则表达式

时间:2015-03-27 07:43:19

标签: php regex string

我有很多字符串,如:

"1248, 60906068, 4536576, 858687( some text 67, 43, 45)"

我想检查字符串是否从数字开始并且字符串中有括号,同时我想从开头到第一个括号获取所有数字。因此,对于此示例,字符串结果应为:

[0] => 1248 , [1] => 60906068, [2] => 4536576, [3] => 858687

关键是在字符串开头的第一个数字后面的字符串可能 零个额外数字一个数字甚至很多数字

我尝试过类似的东西:

 ^(\d+)(?:,\s?(\d+)?)*\([^\)]+\)$

但它只需要括号前的第一个和最后一个数字。

是否可以只使用一个正则表达式来获取所有这些数字?

提前谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用此正则表达式:(\d+)(?:\([^\)]+\))?

所有数字都将在第1组中捕获。

请参阅example

结果:

1248
60906068
4536576
858687