我正在尝试解析 oracle 脚本。目的是提取函数、过程、循环、异常等的数量。完成此任务的最合适方法是什么?我目前正在使用正则表达式执行此操作。但它似乎并没有涵盖所有场景。我需要一些替代方法。
问问题
250 次
2 回答
1
我创建了以下正则表达式来找出包、函数、过程、循环、异常、元数据定义和匿名块。
"create\\s+(or\\s+replace\\s+)?(package)\\s+(body\\s+)?([\\w\\.]+)" +//1-4
"|(\\bcreate\\s+)?(\\bor\\s+)?(\\breplace\\s+)?(\\bfunction|\\bprocedure)\\s+(\\w+)" +//5-9
"|(\\bexception)\\s" +//10
"|(\\bcursor)\\s*(\\w+)"+//11-12
"|(\\bloop)\\s"+//13
"|(\\w+)\\s*([\\w\\.]+)\\s*%(ROW)?(TYPE);"+//14-17
"|(\\bdeclare)\\s"//18
该技术是消除注释和字符串文字,然后应用正则表达式。它对我来说很好。
于 2013-11-20T08:05:25.127 回答