如果单词存在,则修改正则表达式不匹配

时间:2016-06-28 14:42:39

标签: java python regex

myRe = re.compile(r"(ALTER TABLE\s*\n*\t*)(.*)(\s*\n*\t*ADD\s*\n*\t*)([a-zA-Z0-9_]*)(\s+\n*?\t*?)(.*)")
newline = myRe.sub(r"EXEC osp_norm_ext_col_add '\4','\2','\6'", newline)

我设计了上面的正则表达式来改变语句,如:

ALTER TABLE post_tran ADD ext_acq_ref_num VARCHAR (12) NULL

但是,如果CONSTRAINT后面有ADD一词,我不想更改上述声明,即

ALTER TABLE post_tran ADD CONSTRAINT ext_acq_ref_num VARCHAR (12) NULL

我尝试使用前瞻操作员,但我很困惑,因为在这种情况下,组捕获返回为空。

请帮忙!

0 个答案:

没有答案