正则表达式匹配特定模式(PHP)

时间:2014-11-21 04:28:01

标签: php regex

给出以下文本字符串:

groups:label(test:one):items:idx(0):value

我想结束以下比赛:

groups
test:one
items:idx(0):value

我对这个表达非常接近,但它仍然不准确,我会围成一圈:

([^:]+):label\((.+)\):(.+)

请帮助您的专业知识。谢谢。

1 个答案:

答案 0 :(得分:2)

你需要将(.+)内的\(\)内的([^:]+):label\((.+?)\):(.+) 视为非贪婪,

.+?

DEMO

使用否定的字符类而不是([^:]+):label\(([^()]*)\):(.+)

[^()]

DEMO

(会匹配任何字符,但不会匹配)或{{1}}零次或多次。