.net 正则表达式识别单词“quot;“主键”;在.sql文件中
我正在尝试构建regex以在.sql文件中查找word主键。。。。就像有一个包含多个CREATETABLE{}脚本的文件一样。我只想在创建表时检查是否设置了主键 例如:.net 正则表达式识别单词“quot;“主键”;在.sql文件中,.net,regex,.net,Regex,我正在尝试构建regex以在.sql文件中查找word主键。。。。就像有一个包含多个CREATETABLE{}脚本的文件一样。我只想在创建表时检查是否设置了主键 例如: CREATE TABLE { ..... ..... PRIMARY KEY ... } CREATE TABLE { ..... ..... ... } CREATE TABLE { ..... ..... PRIMARY KEY ... } 这里第二个创建表不包含主键。。 所以我想构建正则表达式来查找是否定义了主键。。。
CREATE TABLE
{
.....
.....
PRIMARY KEY
...
}
CREATE TABLE
{
.....
.....
...
}
CREATE TABLE
{
.....
.....
PRIMARY KEY
...
}
这里第二个创建表不包含主键。。
所以我想构建正则表达式来查找是否定义了主键。。。
我正在使用.net中的ReadToEnd函数扫描文件,然后想在其上应用正则表达式进行匹配。我不知道.net,但我认为仅使用一个正则表达式是无法做到这一点的。
我将遍历该文件,用一个正则表达式检查是否有一个新的创建表{启动,如果是,检查在下一个创建表之前是否有主键{.你到底想做什么?一天结束时你的目标是什么?例如:你正在验证
CREATE TABLE
语句,如果没有定义主键,就要出错吗?试图提取一些有用的数据供以后使用吗?其他什么?是的,实际上我试图在CREATE TABLE中没有定义主键的情况下引发一个错误…所以如果在ny CREATE TABLE block如果主键没有定义它应该是一个错误…你不需要一个正则表达式,一个简单的子字符串匹配就足够了。事实上,我正在寻找正则表达式匹配,因为我正在通过我的应用程序来做。所以,相同的正则表达式将很有用。嗯,正则表达式匹配主键并创建表并不难。这里:*PPRIMARY.KEY.*这与行中任意位置的主键匹配,.*CREATE.TABLE.*在这里相同。但我认为这不足以让它正常工作。