Извлечь строку с в круглых скобках, если соответствует (регулярное выражение) - PullRequest
0 голосов
/ 12 марта 2019

Строка может быть следующей:

poptype in ('01')
and (a0='169'or a1='169'or a2='169'or a3='169'or a4='169'or a5='169'or a6='169'or a7='169'or a8='169'or a9='169')  
and (sku in ('67798240','67724312','67724313','67460442','67629434'))  
and (geo_code in ('D01365','D01353','D01354','D01356','D01364','D01357','D01555'))

Результат должен быть следующим:

Требуется вывод:

(a0='169'or a1='169'or a2='169'or a3='169'or a4='169'or a5='169'or a6='169'or a7='169'or a8='169'or a9='169')

Если в строке существует «a0» или «a9», я хочу сопоставить целые выражения в первой круглой скобке.

Ответы [ 2 ]

1 голос
/ 12 марта 2019

Это должно сделать это:

\(.*(?:a0|a9).*\)

Проверьте по адресу: https://regex101.com/r/SWtZh4/1 В основном это соответствует всему, что в скобках, если в нем были найдены a0 или a9.

0 голосов
/ 14 марта 2019

Если в строке существует «a0» или «a9», я хочу сопоставить целые формулировки в первых скобках.

(\([^\(]+(a0|a9)[^\)]+\))

Это должно в основном делать то, что вы хотите.

Поиск открывающей фигурной скобки, за которой следует любое количество символов, не являющихся открывающей фигурной скобкой, затем a0 или a9, а затем «зеркальное отображение» закрывающей фигурной скобки на другом конце.

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