Как исключить кавычки в буквенно-цифровой строке - PullRequest
2 голосов
/ 23 января 2012

Это пример строки:

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 Ответ

1 голос
/ 23 января 2012

/(?<!['a-z0-9_])([a-z_]+[a-z0-9_]+)(?!['a-z0-9_])/i добьется цели, используя отрицательный взгляд назад и отрицательный взгляд вперед.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...