Из следующего кода мне нужно извлечь только то, что в скобках, не потребляя их.
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.'
Спасибо за помощь, которую вы можете оказать мне.
Предполагая, что вы всегда хотите захватить между первой и последней скобками, это будет работать:
(?s)\(\s*(.*)\s*\)
https://regex101.com/r/MVs17e/1/
(?s)
делает .
соответствовать нескольким строкам. .*
жадный и ищет последнего )
, Обратные косые черты перед скобками избегают скобок, потому что это специальные символы в регулярном выражении. \s*
равно нулю или более пробелов, поэтому мы не фиксируем пробелы до / после инкапсулирующих скобок.
Других решений пока нет …