【发布时间】:2012-12-09 22:22:48
【问题描述】:
我不止一次被一个错误所困扰,您不小心在条件语句中分配了一个变量,例如if。
我正在寻找有关此类事件的来源。我为简单的情况创建了一个在 PHP 中工作的表达式,但想知道是否有人可以优化它或处理更有趣的情况。
样品:
if ($var = 3) //MATCH
if($var = 3) //MATCH
if($var=3) //MATCH
if ( $var = 3) //MATCH
if ($var == $var2)
if ($var = $var3) //MATCH
if ( $var === 7)
if( $var == 8 || $var = 9) //MATCH
if (($var == 7 ) && ($var ==10))
if\s*\([\$a-zA-Z\d\s]*=[\$a-zA-Z\d\s]*\) 可以很好地处理简单的情况,但如果在示例底部想出一些适用于扩展版本的东西会很好。
有更好的表达方式吗?
【问题讨论】:
-
我正在尝试匹配
if -
@sputnick 正则表达式有一个 if:
(?(ifregex)thenregex|elseregex) -
您还需要捕获任何其他条件,它们都是潜在的分配。除非您正在解析标记化,否则可能无法捕获所有内容。
-
您可以检查整行是否同时包含
if和==- 假设块是换行的