我需要一个正则表达式语法,用于获取用'%'字符分隔的字符串中的特定组。我有这个字符串作为例子:
%David davidson%你好我可以存储1000个数字%anotherchain%你好吗?%{/ p>
我想在不同的PHP变量中存储像这样的匹配
$var1 = david davidson;
$var2 = Hello I can store numbers;
...等
但我不知道如何获得一组特定的字符(每个示例获得的第二个匹配不以符号或%符号开头)
我尝试使用此代码%.*?(%)
但它只返回第一个和第三个匹配但我实际上想要选择特定的组
我在谷歌和这里搜索过但我找不到与我需要的东西相符的答案,可能是因为我不知道我需要搜索的关键字以获得一个好的答案
答案 0 :(得分:2)
您可以使用
preg_match_all('/[^%]+/sim', $subject, $result, PREG_PATTERN_ORDER);
$result = $result[0];
print_r($result);
这会给你:
你好!!
[^%] +
这意味着在正则表达式中,除了“%”
之外的每个字符