1、打开myeclipse,准备编写java代码;
2、新建java类,
3、编写java代码,
package test;
import javautilregexPattern;
public class TestRegexp {
public static void main(String[] args) {
String regex = "^ACB$";
Pattern p = Patterncompile(regex);
javautilregexMatcher m = pmatcher("ACDB");
Systemoutprintln("START");
while (mfind()) {
Systemoutprintln(mgroup());
}
}
}
4、执行,在consle中看到结果如下,匹配成功;
一个是建表语句格式如下 :
create空格若干table 表名和其他信息
正则表达式如下:create\s+table\s++
第二个是建索引语句格式如下 :
create空格和字母若干index空格和字母下划线等若干
正则表达式如下:create[\sA-Za-z]+index[\sA-Za-z_]+
不过我认为楼主给定的限制不够细,像空格和字母下划线等若干这样的说法比较模糊,上面的正则表达式可以正常匹配正确的语句,但是对于错误语句的限制不够,还有进一步修改的余地。
在JAVA中使用正则表达式时,应该import下面两个类
import javautilregexMatcher;
import javautilregexPattern;
另外"\"应该被替换成"\\"。
具体方法是:
String sql="create table test(id varchar(10) not null)"
String reg="create\\s+table\\s++";
Pattern p = Patterncompile(reg);
Matcher m = pmatcher(sql);
boolean b = mmatches();
得到的布尔值表示sql是否匹配正则表达式reg。jdk14中加入了javautilregex包提供对正则表达式的支持。而且JavalangString类中的replaceAll和split函数也是调用的正则表达式来实现的。
正则表达式对字符串的 *** 作主要包括:字符串匹配,指定字符串替换,指定字符串查找和字符串分割。下面就用一个例子来说明这些 *** 作是如何实现的:
< %@ page import="javautilregex"%>
< %
Pattern p=null; //正则表达式
Matcher m=null; // *** 作的字符串
boolean b;
String s=null;
StringBuffer sb=null;
int i=0;
按照你的要求编写的Java替换程序如下
public class R{
public static void main(String[] args) {
String s = "(我)发来了一条信息。(你好。)";
s=sreplaceAll("(我)","小明");
s=sreplaceAll("(你好。)","晚安。");
Systemoutprintln(s);
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)