从以下代码中我只需要提取括号中的内容,而不使用它们。
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.'
感谢您给予我的帮助。
答案 0 :(得分:0)
假设您总是希望在第一个和最后一个括号之间捕获,这将起作用:
(?s)\(\s*(.*)\s*\)
https://regex101.com/r/MVs17e/1/
(?s)
使.
匹配多行。 .*
贪婪并寻找最后一个)
。括号前的反斜杠转义括号,因为它们是正则表达式中的特殊字符。 \s*
是零或更多的空格,因此我们不会在封装括号之前/之后捕获空格。