我正在搜索数据库模式文本文件,其中所有存储过程,函数,触发器和视图都由“;;”分隔。我在“;;”上拆分内容分隔符,然后为每个部分,寻找“创建程序”,“创建功能”,“创建触发器”或“创建视图”。但是,这个搜索条件可能不如我刚才列出的那么完美。例如,“CREATE PROCEDURE”可以是:“创建过程”,“创建过程”,“创建过程”等。
这看起来像一个非常简单的正则表达式模式来检查,但我是regex的新手,并且有点挣扎。任何帮助将不胜感激。
答案 0 :(得分:2)
var regex = new Regex(@"\bcreate\s+(procedure|function|view|trigger)" +
@"\s+(?<ObjectName>[a-z_][a-z0-9_]+)\b",
RegexOptions.IgnoreCase);