0
得到安宁以下文字:交替优先?
constraint FK1 foreign key (Store_id) references "Store",
constraint FK2 foreign key (Product_id) references "Product"),
CONSTRAINT PK1 PRIMARY KEY (id),
CONSTRAINT FK3 FOREIGN KEY (id_user) REFERENCES user(id)
我试图找出一个正则表达式,让我本地列(商店编号,PRODUCT_ID和id_user)表(商店,产品和用户)和目标表列(如果FK3适用的话)。
如果我用下面的正则表达式:
FOREIGN\s+KEY\s+?\(([^(]+)\)\s+?REFERENCES\s+(\"[^\"]+\")
得当前两个选项匹配。
如果我用这个表达式:
FOREIGN\s+KEY\s+?\(([^(]+)\)\s+?REFERENCES\s+([^(]+)\(([^)]+)
它正确匹配FK3但不FK1或FK2。我希望我可以将它与alteration
结合起来。我试过如下:
FOREIGN\s+KEY\s+?\(([^(]+)\)\s+?REFERENCES\s+((\"[^\"]+\")|[^(]+)\(([^)]+)
假设,因为我把状态1首先将前两个选项提供了一个有效的匹配,但相反,它执行作为第二个正则表达式。
有关如何正确执行此操作的任何建议?有没有办法设置轮换的优先级?