Java 使用正则表达式解析Oracle脚本
我正在尝试解析oracle脚本。其目的是提取函数、过程、循环、异常等的数量。最合适的方法是什么?我目前正在使用正则表达式进行此操作。但它似乎并没有涵盖所有的情况。我需要一些替代方案。这是一个有趣的话题,你可以使用不同的事务长。一个流行的是。对于pl/sql,在这里进行了定义Java 使用正则表达式解析Oracle脚本,java,regex,oracle,plsql,Java,Regex,Oracle,Plsql,我正在尝试解析oracle脚本。其目的是提取函数、过程、循环、异常等的数量。最合适的方法是什么?我目前正在使用正则表达式进行此操作。但它似乎并没有涵盖所有的情况。我需要一些替代方案。这是一个有趣的话题,你可以使用不同的事务长。一个流行的是。对于pl/sql,在这里进行了定义 您还可以查看一下我创建了一个下面的正则表达式来查找包、函数、过程、循环、异常、元数据定义和匿名块 "create\\s+(or\\s+replace\\s+)?(package)\\s+(body\\s+)?([\\w\\.
您还可以查看一下我创建了一个下面的正则表达式来查找包、函数、过程、循环、异常、元数据定义和匿名块
"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
技术是消除注释和字符串文字,然后应用正则表达式。这对我来说很好。这是一个很好的建议,但我们已经在使用ANTLR进行SQL转换。这只是为了分析的目的,我们只需要有功能,过程,循环,异常等计数ic,然后如果你们有任何其他好的选择请分享,然后,我在一个项目,其中有很多的pl/sql脚本工作,一些脚本超过7000行,如果我们可以这样做…然后它将有助于文件的代码