Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用正则表达式解析Oracle脚本_Java_Regex_Oracle_Plsql - Fatal编程技术网

Java 使用正则表达式解析Oracle脚本

Java 使用正则表达式解析Oracle脚本,java,regex,oracle,plsql,Java,Regex,Oracle,Plsql,我正在尝试解析oracle脚本。其目的是提取函数、过程、循环、异常等的数量。最合适的方法是什么?我目前正在使用正则表达式进行此操作。但它似乎并没有涵盖所有的情况。我需要一些替代方案。这是一个有趣的话题,你可以使用不同的事务长。一个流行的是。对于pl/sql,在这里进行了定义 您还可以查看一下我创建了一个下面的正则表达式来查找包、函数、过程、循环、异常、元数据定义和匿名块 "create\\s+(or\\s+replace\\s+)?(package)\\s+(body\\s+)?([\\w\\.

我正在尝试解析oracle脚本。其目的是提取函数、过程、循环、异常等的数量。最合适的方法是什么?我目前正在使用正则表达式进行此操作。但它似乎并没有涵盖所有的情况。我需要一些替代方案。

这是一个有趣的话题,你可以使用不同的事务长。一个流行的是。对于pl/sql,在这里进行了定义


您还可以查看一下

我创建了一个下面的正则表达式来查找包、函数、过程、循环、异常、元数据定义和匿名块

"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行,如果我们可以这样做…然后它将有助于文件的代码