Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-preg_匹配(string),(string),_Php_Preg Match - Fatal编程技术网

PHP-preg_匹配(string),(string),

PHP-preg_匹配(string),(string),,php,preg-match,Php,Preg Match,这是我的字符串: (name1=value1),(name1=value1a,value1b,value1c),(name2=value2),... 我想要括号内的字符串。是指: name1=value1 name1=value1a,value1b,value1c name2=value2 等等…请注意,括号内可以是除(和)之外的任何字符 如果您想要一个纯正则表达式的答案,可以使用lookahead/lookahead断言: preg_match_all("/(?<=\().*(?=\

这是我的字符串:

(name1=value1),(name1=value1a,value1b,value1c),(name2=value2),...
我想要括号内的字符串。是指:

name1=value1
name1=value1a,value1b,value1c
name2=value2

等等…请注意,括号内可以是除(和)之外的任何字符

如果您想要一个纯正则表达式的答案,可以使用lookahead/lookahead断言:

preg_match_all("/(?<=\().*(?=\))/U", $text);
以及输出:

Array
(
    [0] => Array
        (
            [0] => name1=value1
            [1] => name1=value1a,value1b,value1c
            [2] => name2=value2
        )

)

这里是另一个使用
explode()的解决方案。


伟大的非常感谢你!
$text = "(name1=value1),(name1=value1a,value1b,value1c),(name2=value2)";
preg_match_all("/(?<=\().*(?=\))/U", $text, $matches);
print_r($matches);
Array
(
    [0] => Array
        (
            [0] => name1=value1
            [1] => name1=value1a,value1b,value1c
            [2] => name2=value2
        )

)
<?php

  $str="(name1=value1),(name1=value1a,value1b,value1c),(name2=value2)";
  $str = substr($str, 1, -1);
  $results=explode('),(', $str );

?>
Array
(
    [0] => name1=value1
    [1] => name1=value1a,value1b,value1c
    [2] => name2=value2
)