设为首页 加入收藏

TOP

Java中正则表达式的应用
2014-11-23 17:42:58 】 浏览:3531
Tags:Java 正则 表达式 应用

  首先定义两个字符串:


  String str;


  String regex;


  其中str是要作判断的字符串;regex是一个标准的正则表达式,当然,它也是一个字符串。


  一般的,如果想判断一个字符串是否匹配一个正则表达式,可以这样做:


  str = "string";


  regex = "s.*";


  System.out.println(str.matches(regex));


  matches的返回值是一个布尔boolean值。


  还可以这样用:


  Pattern pattern = Pattern.compile(regex);


  Matcher matcher = pattern.matcher(str);


  System.out.println(matcher.matches());


  matches的返回值同样是一个布尔boolean值。


  下面的情况也许并不是你想要的结果:


  str = "string\nstring";


  regex = "s.*";


  System.out.println(str.matches(regex));


  结果是false。


  这里的点.并没有匹配行结束符\n。


  也许你希望用一个含有表示行结束符的正则表达式来做匹配,但是,你又知道字符串中有多少个行结束符以及它们的位置呢?


  其实,.的匹配规则是可以更改的:


  int flags = Pattern.DOTALL;


  Pattern pMulti = Pattern.compile(regex, flags);


  Matcher mMulti = pMulti.matcher(str);


  System.out.println(mMulti.matches());


  正如所料,结果是true。


  也可以指点过多个标志:


  flags = Pattern.DOTALL | Pattern.MULTILINE;


  各个标志之间只需要用数线|分隔即可。


  更多的知识,请参照JDK的java.util.regex.Pattern部分的说明,很详细。


  编辑特别推荐:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇在Action之间传参数的问题 下一篇详解Spring的配置文件

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目