Как я могу обнаружить строки кода в скобках этого CREATE TABLE SQL? - PullRequest
0 голосов
/ 28 мая 2018

Из следующего кода мне нужно извлечь только то, что в скобках, не потребляя их.

create table if not exists `va_lottery`.`iso_4217`
(
    ccodealpha char(3) not null comment 'ISO alpha.',
    ccodenumeric char(3) not null comment 'ISO numeric',
    cminorunit varchar(4) default 0 comment 'Minor unit.',
    cname varchar(80) not null comment 'Name of the currency.',
    centity varchar(100) not null comment 'Entity.'
)
engine=innodb comment='ISO codes of coins.';

То есть.Извлеките только следующие строки кода.

    ccodealpha char(3) not null comment 'ISO alpha.',
    ccodenumeric char(3) not null comment 'ISO numeric',
    cminorunit varchar(4) default 0 comment 'Minor unit.',
    cname varchar(80) not null comment 'Name of the currency.',
    centity varchar(100) not null comment 'Entity.'

Спасибо за помощь, которую вы можете оказать мне.

1 Ответ

0 голосов
/ 28 мая 2018

Предполагая, что вы всегда хотите захватить между первой и последней скобками, это будет работать:

(?s)\(\s*(.*)\s*\)

https://regex101.com/r/MVs17e/1/

(?s) заставляет . соответствовать нескольким строкам..* является жадным и ищет последний ).Обратные косые черты перед скобками избегают скобок, потому что это специальные символы в регулярном выражении.\s* - это ноль или более пробелов, поэтому мы не фиксируем пробелы до / после инкапсулирующих скобок.

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