标签: php regex
给出以下文本字符串:
groups:label(test:one):items:idx(0):value
我想结束以下比赛:
groups test:one items:idx(0):value
我对这个表达非常接近,但它仍然不准确,我会围成一圈:
([^:]+):label\((.+)\):(.+)
请帮助您的专业知识。谢谢。
答案 0 :(得分:2)
你需要将(.+)内的\(和\)内的([^:]+):label\((.+?)\):(.+) 视为非贪婪,
(.+)
\(
\)
([^:]+):label\((.+?)\):(.+)
.+?
DEMO
或强>
使用否定的字符类而不是([^:]+):label\(([^()]*)\):(.+) ,
([^:]+):label\(([^()]*)\):(.+)
[^()]
(会匹配任何字符,但不会匹配)或{{1}}零次或多次。
(
)