【问题标题】:PHP Regex Recursive - ERROR UNDEFINEDPHP Regex Recursive - 错误未定义
【发布时间】:2013-10-20 12:45:42
【问题描述】:

我在 php 中有这几行代码..

$ALL2 = "($SUM|$DIFF|$PROD|$QUOT|$MOD|$MAX|$MIN|$VAR_NAME|$LIT_NUMBAR|$LIT_NUMBAR)";
$SUM2 = "$OPERATOR_SUM $ALL2|$SUM2 ($INFIX) $ALL2|$SUM2";

我计划在第 2 行使用递归代码,但问题是......右手边的 $SUM2 将是未定义的......

我将如何让代码运行?

非常感谢您的帮助..

【问题讨论】:

  • $SUM 是否在其他任何地方定义?
  • PHP 字符串中的递归变量引用不起作用。您需要查看实际的 pcre recursions,最好是 named subroutines
  • $SUM2 is...$SUM 在前面的行中使用...
  • @mario 那么,没有其他方法可以通过变量实现递归吗?
  • @vaizaren:如果您将单引号更改为双引号,解析器不会着手尝试将所有 $[a-z] 解析为变量。如果这应该发生,并且您正在尝试将其转换为有效的正则表达式,请尝试使用 preg_quote,也

标签: php regex recursion


【解决方案1】:

我按照建议使用了 pcre recursions 并命名为 subroutines,效果更好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-21
    • 2016-08-17
    • 2012-05-23
    • 2012-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多