php正则表达式出错
我有以下代码:php正则表达式出错,php,regex,preg-match,preg-match-all,Php,Regex,Preg Match,Preg Match All,我有以下代码: $text = "###12###hello###43###good###113###thefinalstring"; preg_match_all('/(.*?)###(\d*)###(.*?)/is', $text, $matches, PREG_SET_ORDER); 如果我转储$matches,为什么没有“finalstring”呢? 正则表达式中的错误在哪里 谢谢 使用此正则表达式试一试: $text = "###12###hello###43###good###11
$text = "###12###hello###43###good###113###thefinalstring";
preg_match_all('/(.*?)###(\d*)###(.*?)/is', $text, $matches, PREG_SET_ORDER);
如果我转储$matches,为什么没有“finalstring”呢?
正则表达式中的错误在哪里
谢谢
使用此正则表达式试一试:
$text = "###12###hello###43###good###113###thefinalstring";
preg_match_all('/###(\d*)###([^#]*)/is', $text, $matches, PREG_SET_ORDER);
print_r($matches);
输出:
Array
(
[0] => Array
(
[0] => ###12###hello
[1] => 12
[2] => hello
)
[1] => Array
(
[0] => ###43###good
[1] => 43
[2] => good
)
[2] => Array
(
[0] => ###113###thefinalstring
[1] => 113
[2] => thefinalstring
)
)
你能解释一下你的目标是什么,你到底想达到什么吗?(.*)#####(\d*)###(.*)([a-zA-Z]*)…这能解决你的目的吗?你想达到什么目的?你只在寻找最终字符串吗?我想知道字符串的每一部分,它被一个数字打断(可以是任何类型的字符),所以你想要“hello”、“good”和“thefinalstring”作为匹配的结果吗?嗯,这项工作只使用普通字符。。我怎么能说,所有的人?我们很接近。。如果它找到一个#,它就会断开。。。我只想在它找到另一个############@OscarFanelli:对不起,我不明白你的意思。您可以显示示例字符串以及要为每个字符串匹配的内容。示例1:你好#####405###你好###32#####示例2:##403
Array
(
[0] => Array
(
[0] => ###12###hello
[1] => 12
[2] => hello
)
[1] => Array
(
[0] => ###43###good
[1] => 43
[2] => good
)
[2] => Array
(
[0] => ###113###thefinalstring
[1] => 113
[2] => thefinalstring
)
)