Board logo

标题: Java中正则表达式的应用 [打印本页]

作者: qingqing3721    时间: 2011-5-7 22:18     标题: Java中正则表达式的应用

首先定义两个字符串:
  String str;
  String regex;
  其中str是要作判别的字符串;regex是一个标准的正则表达式, 当然, 它也是一个字符串。
  一般的, 如果想判别一个字符串是否匹配一个正则表达式, 可以这样做:
  str = "string";
  regex = "s. *";
  System. out. println(str. matches(regex));
  matches的返回值是一个布尔boolean值。
  还可以这样用:
  Pattern pattern = Patternpile(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 = Patternpile(regex,  flags);
  Matcher mMulti = pMulti. matcher(str);
  System. out. println(mMulti. matches());
  正如所料, 结果是true。
  也可以指点过多个标志:
  flags = Pattern. DOTALL | Pattern. MULTILINE;
  各个标志之间只需求用数线|分隔即可。
  更多的知识, 请参照JDK的java. util. regex. Pattern局部的说明, 很详细。文章由 feger.tk 斐格淘宝旗舰店 整理,收集辛苦,希望能保留出处。




欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/) Powered by Discuz! 6.0.0