什么正则表达式匹配这种模式?

时间:2016-01-24 05:04:08

标签: php regex

我正在使用PHP preg_match_all来解析这样的模式:key1: value1, key2: value2我达到了这个正则表达式~([\w-_]+)\s?:\s?([^,]*)~i它的工作原理与返回的数组[['key1: value1', 'key1', 'value1'], ['key2: value2', 'key2', 'value2']]使用{ {1}} arg。

但是如果我想匹配包含PREG_SET_ORDER的文本,那么要使用带有反斜杠,的文本必须使用正则表达式来跳过\,断路器,如果它是[^,]

1 个答案:

答案 0 :(得分:4)

使用交替运算符来贪婪地匹配转义的逗号。

~([\w-_]+)\s?:\s?((?:\\,|[^,])*)~i

DEMO