`
minbing
  • 浏览: 27991 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java正则表达式 最大最小匹配

    博客分类:
  • java
阅读更多

 

 

先看两端代码:

        String s = "/m/t/wd/nl/n/p/m/wd/nl/n/p/m/wd/nl/n/p/m/v/n";
        Pattern p = Pattern.compile("/m/t.*/nl/n/p/m");
        Matcher m = p.matcher(s);
        while(m.find()) {
            System.out.println(m.group());
            System.out.println(m.start());
            System.out.println(m.end());
        }
运行结果:
/m/t/wd/nl/n/p/m/wd/nl/n/p/m/wd/nl/n/p/m        
0
40

 

        String s = "/m/t/wd/nl/n/p/m/wd/nl/n/p/m/wd/nl/n/p/m/v/n";
        Pattern p = Pattern.compile("/m/t.*?/nl/n/p/m");
        Matcher m = p.matcher(s);
        while(m.find()) {
            System.out.println(m.group());
            System.out.println(m.start());
            System.out.println(m.end());
        } 
运行结果:
/m/t/wd/nl/n/p/m/wd/nl/n/p/m/wd/nl/n/p/m        
0
40

 

只是在.*后加了一个“?”, 结果就大不一样了。 可以这样说,如果想贪婪匹配,用.*, 如果想勉强匹配,就用.*?。

 

分享到:
评论
1 楼 azraelmouse 2012-03-31  
贴错运行结果了。

相关推荐

    正则表达式判断密码强度

    正则表达式(Regular Expression)是一种强大的工具,用于在字符串中匹配特定模式,它在这里被用来判断用户设定的密码是否符合一定的强度标准。以下是对这个话题的详细解释。 首先,密码强度通常涉及到以下几个方面...

    Java正则表达式详解.pdf

    ### Java正则表达式详解:掌握文本匹配的艺术 正则表达式,又称正则规则或正则模式,是一种用于描述字符串结构的语法,被广泛应用于各种编程语言中,包括Java,用于文本处理、数据验证、搜索与替换等场景。本文将...

    JAVA正则表达式语法大全

    ### JAVA正则表达式语法大全 #### 正则表达式简介 正则表达式是一种用于匹配字符串中字符组合的强大工具,在编程中广泛应用于文本搜索、替换等操作。Java中的正则表达式支持标准的正则表达式语法,并通过`java.util...

    JAVA正则表达式详解

    Java正则表达式还提供了一些模式修饰符,可以改变匹配的行为,常用的修饰符有: - `Pattern.CANON_EQ`:启用规范等价比较。 - `Pattern.CASE_INSENSITIVE`:启用大小写不敏感的匹配。 - `Pattern.COMMENTS`:允许在...

    正则表达式之道

    ### 正则表达式之道 —— Java中的应用与实践 #### 一、引言 正则表达式是一种强大的文本处理工具,它可以帮助开发者快速高效地完成字符串的匹配、搜索、替换等工作。对于Java开发者而言,掌握正则表达式的用法尤...

    [JAVA源码]捣鼓生成浮点数的最小最大值的正则表达式---by_langx

    在Java编程中,正则表达式(Regular Expression)是一种强大的文本处理工具,它能用于匹配、查找、替换等操作。本话题聚焦于如何利用Java来生成一个正则表达式,这个表达式能够验证一个字符串是否代表了在特定范围内...

    正则表达式提取网页编码

    在给定的代码片段中,使用了Java的`Pattern`和`Matcher`类来执行正则表达式的匹配操作: ```java String content = "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n" + "<head>\n" + ";charset=utf-8\"/>\n" +...

    验证数字的正则表达式集

    正则表达式是一种非常强大的文本匹配工具,广泛应用于各种场景下的数据验证。本文将详细介绍一系列用于验证不同类型数字的正则表达式。 #### 1. 基本整数验证 - **表达式**:`/^[0-9]*$/` - **说明**:此表达式...

    包含正则表达式解析、生成NFA、生成DFA、生成最小DFA、生成C代码的xlex

    正则表达式是计算机科学中用于模式匹配的强大工具,广泛应用于文本处理、编程语言解析、数据提取等领域。在本项目中,"包含正则表达式解析、生成NFA、生成DFA、生成最小DFA、生成C代码的xlex" 涉及到了正则表达式的...

    正则表达式及NFA-DFA-MFA

    在编程实践中,正则表达式通常被编译成DFA或者等价的NFA来进行匹配操作,例如Perl、Python和Java等语言都提供了正则表达式的支持。 在学习正则表达式及NFA-DFA-MFA时,你需要掌握以下几个关键点: 1. 正则表达式的...

    正则表达式转化为最小化DFA

    正则表达式是一种强大的文本处理工具,用于匹配和操作字符串。...在实际编程中,如Java的`java.util.regex`库或Python的`re`模块,都提供了对正则表达式的内置支持,但底层实现正是基于这些理论转换。

    最小的正则表达式分析工具

    例如,在编程语言如JavaScript、Python、Java中,正则表达式常用于数据验证、文本处理和数据提取。 总结来说,“最小的正则表达式分析工具”虽小,但功能强大且实用。它提供了一个简洁的界面,让用户可以轻松测试和...

    JAVA正则表达式校验qq号码的方法

    在本篇文章中,我们将讨论如何使用Java正则表达式来校验QQ号码。校验QQ号码时,可以设定如下规则:QQ号码必须是5到15位的数字,且号码不能以数字0开头。 为了构建一个匹配这些规则的正则表达式,我们可以使用以下...

    正则表达式– 教程

    - **`{n,m}`**:最小匹配 n 次并且最多匹配 m 次。 #### 字符类示例 - **`[0-9]`**:匹配任意数字。 - **`[a-z]`**:匹配任意小写字母。 - **`[a-zA-Z]`**:匹配任意字母。 - **`[a-zA-Z0-9]`**:匹配任意字母或...

    Java 正则表达式匹配模式(贪婪型、勉强型、占有型)

    Java 正则表达式是处理字符串的强大工具,它允许我们定义复杂的匹配规则。在Java中,正则表达式模式有三种基本类型:贪婪型、勉强型(也称为懒惰型)和占有型。理解这些模式对于编写精确的字符串匹配代码至关重要。 ...

Global site tag (gtag.js) - Google Analytics