2012-01-22 88 views
2

排除引用这是例子字符串:如何在字母数字字符串

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

看起来你试图逃避一些SQL代码。你能提供更多的背景知道你需要什么吗? – 2012-01-23 00:03:41

+0

它是我正在开发的库的一部分。 特定于QueryBuilder。 –

+0

@CristianGonzales如果您需要添加说明(或特别是代码),它更适合编辑您的问题,而非评论。只需点击问题底部的徽章左侧的编辑链接即可。 –

回答

1

/(?<!['a-z0-9_])([a-z_]+[a-z0-9_]+)(?!['a-z0-9_])/i会做的伎俩,使用负回顾后和负前瞻。

+0

用那个正则表达式得到的结果是:\'User''.'''''''''''''ctive''d' –

+0

将用另一次尝试编辑。 –

+0

这是有效的!谢谢。 –

相关问题