黑马程序员技术交流社区
标题:
正则表达式小问题
[打印本页]
作者:
彭盼
时间:
2012-4-24 15:43
标题:
正则表达式小问题
正则表达式中有三个量词greedy、reluctant和possessive,看了api文档得知,这三个量词的功能似乎都是一样的啊,究竟在应用方面怎么去选择它们
作者:
应佳锋
时间:
2012-4-24 15:49
没研究过JAVA的正则表达式 个人觉得 没必要再这块过多的花心思 有这个精力去深入网络编程 和 线程 以后要用了 去查就可以了
作者:
周海诚
时间:
2012-4-24 15:59
量词:量即为数量,意为多少次,由 * + ? {n}组合表示
用代码事例最为清晰:
package com.test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test2 {
public static void main(String[] args) {
/* Greedy 数量词
X? X,一次或一次也没有 (一次性全部把字符串读取进来,递减匹配)
Reluctant 数量词
X?? X,一次或一次也没有 (读取最少的)
Possessive 数量词
X?+ X,一次或一次也没有 (一次性全部把字符串读取进来匹配)
*
*/
Pattern p = Pattern.compile("(.{3,10}+)([0-9])");
String s = "aaaa5bbbb68";
Matcher m = p.matcher(s);
if(m.find())
System.out.println(m.start() + "-" + m.end());
else
System.out.println("not match!");
}
}
作者:
胡奎
时间:
2012-4-24 16:54
楼上介绍很好了,顶一下
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2