Если вы используете редактор, такой как SublimeText или TextMate 1 , есть большая вероятность, что вы можете использовать
\L$1
в качестве замены, где $1
относится к чему-то из регулярного выражения, которое вы заключаете в скобки. Например, 2 , вот что я использовал, чтобы сократить имена полей в некотором SQL, получая все справа от «как» в конце любой данной строки. Сначала регулярное выражение "найти":
(as|AS) ([A-Za-z_]+)\s*,$
, а затем выражение для замены:
$1 '\L$2',
Если вы используете Vim (или, по-видимому, gvim), тогда вы захотите использовать \L\1
вместо \L$1
, но есть еще одна проблема, о которой вам нужно знать: Vim изменяет синтаксис между буквенными скобками символы и экранированные символы в скобках. Поэтому для обозначения части регулярного выражения, которая будет включена в замену («захваченная»), вы будете использовать \(
в начале и \)
в конце. Думайте о \
как о - вместо экранирования специального символа, чтобы сделать его литералом - маркировка начала специального символа (как с \s
, \w
, \b
и т. Д.). Так что это может показаться странным, если вы к этому не привыкли, но на самом деле совершенно логично, если вы думаете об этом в стиле Vim.
1 Я проверял это как в TextMate, так и в SublimeText, и он работает как есть, но некоторые редакторы используют
\1
вместо
$1
. Попробуйте оба варианта и посмотрите, какой редактор использует.
2 Я только что вынул это регулярное выражение из своей истории. Я всегда настраиваю регулярное выражение при их использовании, и я не могу обещать, что это окончательная версия, поэтому я не предполагаю, что она подходит для описанной цели, и особенно, если SQL не отформатирован иначе, чем SQL, над которым я работал, просто конкретный пример сокращения в регулярных выражениях. YMMV. UAYOR.