如何在字母数字字符串中排除引号

时间:2012-01-22 23:58:29

标签: php regex replace

这是示例字符串:

User.status <> 'actived'

我想要这个:

`User`.`status` <> 'actived'

但是使用以下正则表达式:

/([a-z_]+[a-z0-9_]+)/i

结果是:

`User`.`status` <> '`actived`'

上下文代码用法:

protected function escapeExpression($expression)
{
    //$expression = "User.status <> 'actived'";
    //escapeKeyword returns '`' . $param . '`'
    return preg_replace('/([a-z_]+[a-z0-9_]+)/i', $this->escapeKeyword('$1'), $expression); 
}

1 个答案:

答案 0 :(得分:1)

/(?<!['a-z0-9_])([a-z_]+[a-z0-9_]+)(?!['a-z0-9_])/i可以做到这一点,使用负面的后观和负面的前瞻。