这是示例字符串:
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);
}
答案 0 :(得分:1)
/(?<!['a-z0-9_])([a-z_]+[a-z0-9_]+)(?!['a-z0-9_])/i
可以做到这一点,使用负面的后观和负面的前瞻。