php preg_替换模式

php preg_替换模式,php,preg-replace,pattern-matching,Php,Preg Replace,Pattern Matching,我需要一只手在我的preg_替换模式上: 我想替换方括号[]之间的文本,也要替换方括号内的文本,不仅要替换第一个方括号[…]之前的文本,还要替换相同的模式,而且只替换这些方括号内的数字 有什么想法吗?试试这个正则表达式: $re = '#\[(?:.*?(?0))*.*?\]#' 这将匹配一个[…]对,该对本身可能包含一个或多个[…]对,它们之间有任何字符。这是通过在模式中使用递归来完成的?0再次调用该模式 preg_match($re, '[.[.]....]', $m); print_r(

我需要一只手在我的preg_替换模式上:

我想替换方括号[]之间的文本,也要替换方括号内的文本,不仅要替换第一个方括号[…]之前的文本,还要替换相同的模式,而且只替换这些方括号内的数字

有什么想法吗?

试试这个正则表达式:

$re = '#\[(?:.*?(?0))*.*?\]#'
这将匹配一个[…]对,该对本身可能包含一个或多个[…]对,它们之间有任何字符。这是通过在模式中使用递归来完成的?0再次调用该模式

preg_match($re, '[.[.]....]', $m);
print_r($m);

// Output:
// Array
// (
//    [0] => [.[.]....]
// )
试试这个正则表达式:

$re = '#\[(?:.*?(?0))*.*?\]#'
这将匹配一个[…]对,该对本身可能包含一个或多个[…]对,它们之间有任何字符。这是通过在模式中使用递归来完成的?0再次调用该模式

preg_match($re, '[.[.]....]', $m);
print_r($m);

// Output:
// Array
// (
//    [0] => [.[.]....]
// )

你能举个例子吗?来源和预期结果但从我的猜测来看,你的案例听起来不规则,而且根据定义,可能无法通过常规表达进行匹配。你能试着解释一下你想要更详细一点的内容吗,或者在预期结果的同时发布一些示例输入数据?你能举个例子吗?来源和预期结果但从我猜你的案例听起来不规则,而且根据定义可能无法通过常规表达式匹配。你能试着解释一下你想要更详细一点的内容吗,也许在发布预期结果的同时发布一些示例输入数据?