поиск назад с регулярным выражением - PullRequest
0 голосов
/ 09 октября 2009

У меня есть следующие разные тексты

line1: SELECT column1,
line2: column2,
line3: RTRIM(LTRIM(blah1)) || ' ' || RTRIM(LTRIM(blah3)),
line4: RTRIM(LTRIM(blah3)) || ' ' || RTRIM(LTRIM(some1)) outColumn,
line5: RTRIM(LTRIM(blah3)) || ' ' || RTRIM(LTRIM(some1)) something,
line6: somelast

Вот что я хочу получить из каждой строки в основном хочу начать поиск по регулярному выражению с конца строки и продолжать работу до пробела. Я могу вынести запятую позже.

line1: column1
line2: column2
line3: <space> nothing found
line4: outColumn
line5: something
line6: somelast

в принципе, все будет в порядке, если я смогу начать регулярное выражение с конца и идти к первому месту.

Вероятно, для line3 будет особый случай, так как я ничего не ожидаю обратно.

Я использую groovy для этого регулярного выражения.

Ответы [ 2 ]

2 голосов
/ 09 октября 2009

Итерация по строкам и сопоставление каждой строки с регулярным выражением:

(?i).*(column\w+).*

Слово, которое вы ищете, записано в группе 1 (1 доллар).

1 голос
/ 09 октября 2009

Я думаю, что вы хотите:

(\w*)\s*,?$

В первой группе совпадений содержится первое слово в конце строки.

Прикрепление выражения к концу строки в основном - это начало регулярного выражения с конца.

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