java 正则表达式用法

来源:百度知道 编辑:UC知道 时间:2024/06/21 04:03:21
小弟想要匹配,这样两条语句
一个是建表语句格式如下
create【空格若干】table 【表名和其他信息】
第二个是建索引语句格式如下
create【空格和字母若干】index【空格和字母下划线等若干】
请问各位高手,在java中怎么用正则表达式匹配啊

先回答楼主的正则表达式吧

一个是建表语句格式如下 :
create【空格若干】table 【表名和其他信息】
正则表达式如下:create\s+table\s+.+

第二个是建索引语句格式如下 :
create【空格和字母若干】index【空格和字母下划线等若干】
正则表达式如下:create[\sA-Za-z]+index[\sA-Za-z_]+

不过我认为楼主给定的限制不够细,像【空格和字母下划线等若干】这样的说法比较模糊,上面的正则表达式可以正常匹配正确的语句,但是对于错误语句的限制不够,还有进一步修改的余地。

在JAVA中使用正则表达式时,应该import下面两个类
import java.util.regex.Matcher;
import java.util.regex.Pattern;
另外"\"应该被替换成"\\"。

具体方法是:
String sql="create table test(id varchar(10) not null)"
String reg="create\\s+table\\s+.+";
Pattern p = Pattern.compile(reg);
Matcher m = p.matcher(sql);
boolean b = m.matches();

得到的布尔值表示sql是否匹配正则表达式reg。

看看能不能满足你的要求
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class TestReg {
public static void main(String[] args) {

Pattern