Regex в Notepad ++ - PullRequest
       30

Regex в Notepad ++

2 голосов
/ 13 апреля 2010

Может ли кто-нибудь предоставить регулярное выражение для notepad ++ для поиска ниже и заменить (преобразование)

ADD  ( PRIMARY KEY (xxx) ) ;

до

ADD  PRIMARY KEY (xxx) ;

в основном убрал () вокруг выражения первичного ключа. значение ххх отличается среди операторов.

Если не notepad ++, я также могу попробовать регулярное выражение для vim или любой скрипт оболочки.

спасибо большое. Баба.

Ответы [ 3 ]

4 голосов
/ 13 апреля 2010

Поиск:

ADD  \( PRIMARY KEY \((.+)\) \) ;

Заменить на:

ADD  PRIMARY KEY (\1) ;
0 голосов
/ 14 апреля 2010

В perl, если вы прочитаете строку в $ line

$line =~ s/([^(]+)\((.*)\)/$1$2/

сделает эту работу.Это также избавит вас от необходимости вставлять вставку ADD PRIMARY KEY ... (с правильным количеством пробелов. Регулярное выражение здесь делает

a) Соответствие всему до первого (и захватывание его в $ 1

b) Соответствие (

c) Соответствие всем персонажам до, но не включая финал) и захватывание его в $ 2.

d) Соответствие завершающему)

e) Заменить исходную строку на $ 1 $ 2.

0 голосов
/ 13 апреля 2010

Тебе не нужен рег-экс. Найдите '( ' и замените его пробелом. Затем найдите ') ' и замените его ничем.

То есть '([space]' и ')[space]'.

...