PHP正则表达式字符串解析

PHP正则表达式字符串解析,php,regex,parsing,Php,Regex,Parsing,我有一个由以下结构组成的字符串-括号中的ID后跟该ID的值,该字符串可以包含ID和值对的数量。例如 00内容1内容227内容35内容4 我想解析字符串并返回一个数组,其中元素键的括号中有ID,内容作为值,例如 Array ( "00" => "CONTENT1" "R3" => "CONTENT2" "27" => "CONTENT3" "5C" => "CONTENT4" ) 非常感谢任何使用正则表达式解析此字符串的帮助。对其进行了测试

我有一个由以下结构组成的字符串-括号中的ID后跟该ID的值,该字符串可以包含ID和值对的数量。例如 00内容1内容227内容35内容4

我想解析字符串并返回一个数组,其中元素键的括号中有ID,内容作为值,例如

Array
(
    "00" => "CONTENT1"
    "R3" => "CONTENT2"
    "27" => "CONTENT3"
    "5C" => "CONTENT4"
)
非常感谢任何使用正则表达式解析此字符串的帮助。

对其进行了测试,它会像您期望的那样拆分字符串:

$string = '(00)CONTENT1(R3)CONTENT2(27)CONTENT3(5C)CONTENT4';
preg_match_all('/\((\w+)\)(\w+)/mi', $string, $matches);

// Just reformatting to the desired output
$result = array_combine($matches[1], $matches[2]);

print_r($result);
其中:

Array
(
    [00] => CONTENT1
    [R3] => CONTENT2
    [27] => CONTENT3
    [5C] => CONTENT4
)
或者不使用正则表达式,使用str_replace和parse_str:


您尝试了什么?好的,正则表达式应该是\\w+\\w+我正在使用一个在线正则表达式测试仪来尝试并返回所需的输出,但到目前为止,所有表达式似乎都没有达到所需的效果。您尝试的表达式是什么,以及结果与目标之间的差距是什么?此解决方案也有效。我不知道parse_str,非常感谢您提供的信息。@user2122889无需担心,编码愉快。我不知道为什么,但我喜欢这个解决方案。
<?php
$str = str_replace(['(', ')'], ['&', '='], '(00)CONTENT1(R3)CONTENT2(27)CONTENT3(5C)CONTENT4');

parse_str($str, $array);

print_r($array);
Array
(
    [00] => CONTENT1
    [R3] => CONTENT2
    [27] => CONTENT3
    [5C] => CONTENT4
)