提取java文件内的sql
时间: 2023-08-23 20:28:58 浏览: 34
提取Java文件内的SQL可以使用正则表达式来实现。你可以使用以下的正则表达式来匹配Java文件内的SQL语句:
```java
String pattern = "(?i)\\b(SELECT|INSERT|UPDATE|DELETE|CREATE|DROP|ALTER|TRUNCATE)\\b.*?;";
```
这个正则表达式会匹配以SELECT、INSERT、UPDATE、DELETE、CREATE、DROP、ALTER或TRUNCATE关键字开头,以分号结尾的SQL语句。你可以使用Java代码来实现这个逻辑,具体代码如下:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ExtractSQL {
public static void main(String[] args) throws Exception {
String fileName = "file.java";
String pattern = "(?i)\\b(SELECT|INSERT|UPDATE|DELETE|CREATE|DROP|ALTER|TRUNCATE)\\b.*?;";
Pattern p = Pattern.compile(pattern);
BufferedReader reader = new BufferedReader(new FileReader(fileName));
String line = null;
while ((line = reader.readLine()) != null) {
Matcher m = p.matcher(line);
while (m.find()) {
System.out.println(m.group());
}
}
reader.close();
}
}
```
其中,`fileName`是要提取SQL的Java文件名,`pattern`是用来匹配SQL语句的正则表达式。程序会逐行读取Java文件内容,使用正则表达式匹配出符合条件的SQL语句,并输出到控制台上。