我使用的是我喜欢且较熟悉的工具的较旧版本,
但是它没有在其create语句中创建正确的输出。
因为这将是一项重复性的任务,所以我做了一点
网络工具;在JaveScript中创建目标Regex。我想打破
只需几下即可完成替换,但我认为1行正则表达式将
让我前进,然后我可以倒退。
我想替换'BINARY(16)'
之后的'('
之后的第一个Batch
(或任何单词)。我正在RegexBuddy中进行测试,我尝试了:\(\s\w+\s(BINARY\(\d{1,2}\)[^,)])
以及许多其他操作,但是没有成功。
CREATE TABLE Batch(
batch_id BINARY(16) NOT NULL,
batch_datetime DATETIME,
overhead_project_id BINARY(16) NOT NULL,
PRIMARY KEY (batch_id)
)ENGINE=INNODB;
使用
ConvertMe.replace(/(FooStatement/gi, "INT(11) NOT NULL AUTO INCREMENT");
。我的最终目标是:(我还必须在其他create语句上修复一些FLOAT和其他INT)
CREATE TABLE Batch(
batch_id INT(11) NOT NULL AUTO INCREMENT,
batch_datetime DATETIME,
overhead_project_id INT(11) NOT NULL,
PRIMARY KEY (batch_id)
)ENGINE=INNODB;
解决方案:ConvertMe = ConvertMe.replace(/(((((\ s | \ n | \ r)\ w \ s +)(BINARY(\ d {1,2})[^,] *)/ gi,“ $ 1INT( 11)NOT NULL AUTO INCREMENT“);
最佳答案
试试这个..我认为这是你在寻找什么
\(?[A-Za-z].+?(BINARY\([0-9]{1,2}\))
关于javascript - 正则表达式在(My)SQL create语句上,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9038638/