正则表达式是一种功强大而灵活的文本处理工具。一般来说,正则表达式就是以某种文本的方式来表述字符串,一次你可以说:“如果一个字符串会有这些东西,那么它就是我们要找的东西”。
假如我们要找的是一个或多个abc组成的字符串,我们可以这样描述:(abc)+
如果有这样一个字符串 :abcabcabcabc, 这个正则表达式又是如何去处理的呢?
a ab abc SUCCESS abca abcab abcabc SUCCESS abcabca abcabcab abcabcabc SUCCESS abcabcabca abcabcabcab abcabcabcabc SUCCESS
/** * * @author zhangwei_david * @version $Id: RegexDemo.java, v 0.1 2015年5月23日 上午5:03:19 zhangwei_david Exp $ */ public class RegexDemo { /** * * @param args */ public static void main(String[] args) { greedRex(); } private static void greedRex() { String greedRex = "(abc)+"; Pattern pattern = Pattern.compile(greedRex); Matcher matcher = pattern.matcher("abcabcabcabc"); while (matcher.find()) { System.out.println(matcher.group()); } }
结果是:abcabcabcabc
勉强性的正则表达式有该如何写呢?且看看(abc)+?这样的正则又是如何处理的呢?
找到第一个字符a,可能匹配,找到字符b可能匹配 找到字符c 匹配 处理结束。这样也就4步就可以处理结束。
一次类推,接着匹配下一个字符
/** * * @author zhangwei_david * @version $Id: RegexDemo.java, v 0.1 2015年5月23日 上午5:03:19 zhangwei_david Exp $ */ public class RegexDemo { /** * * @param args */ public static void main(String[] args) { occupyRex(); } private static void occupyRex() { String greedRex = "(abc)+?"; Pattern pattern = Pattern.compile(greedRex); Matcher matcher = pattern.matcher("abcabcabcabc"); while (matcher.find()) { System.out.println(matcher.group()); } } }
结果是:abc abc abc abc
相关推荐
Java正则表达式Java正则表达式Java正则表达式Java正则表达式
本文写作时,一个包含了用正则表达式进行文本处理的Java规范需求(Specification Request)已经得到认可,你可以期待在JDK的下一版本中看到它。 然而,如果现在就需要使用正则表达式,又该怎么办呢?你可以从Apache...
java,正则表达式,详解,java正则表达式,PDF
java通过正则表达式匹配获取MAC(支持windows和Linux)
主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作技巧,需要的朋友可以参考下
Java根据正则表达式生成字符串,包括了Xeger和automaton
java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解
java 使用正则表达式验证电话号码的格式 java 使用正则表达式验证电话号码的格式
正则表达式之道.doc 正则表达式中的特殊字符.doc Java正则表达式详解.doc 正则表达式.ppt JAVA正则表达式--Pattern和Matcher.doc 例子
Java正则表达式 Java 正则表达式 图片版 携带方便,查阅方便!~
Java 使用正则表达式对象实现正则的获取功能 Java 使用正则表达式对象实现正则的获取功能
Java常用正则表达式,一些在开发中常用的表达式。
java使用正则表达式进行校验验证,主要使用了Pattern和Matcher类,直接main方法运行就可以,亲测有效
java的正则表达式的详细说明,里面有详细的说明和例子,是要学习java正则表达式的好资料。
主要介绍了java使用正则表达式判断手机号的方法,分析了手机号码段的原理及java使用正则表达式针对手机号的匹配操作实现技巧,需要的朋友可以参考下
java正则表达式java正则表达式java正则表达式java正则表达式java正则表达式java正则表达式
通过正则表达式,进行反向的生成满足正则表达式的数据。
java 利用正则表达式从字符串中提取省、市、区、镇、乡等区域名称(包含少数民族地区),支持地址中无省,无市,无县情况。
JAVA正则表达式JAVA正则表达式JAVA正则表达式
如果正则表达式的内容需要被再次引用,那么需要对正则表达式的内容进行分组