`
beneo
  • 浏览: 55045 次
  • 性别: Icon_minigender_1
  • 来自: 希伯來
社区版块
存档分类
最新评论

Pattern Greedy, Reluctant, and Possessive 扫盲

阅读更多
原文是 http://java.sun.com/docs/books/tutorial/essential/regex/quant.html

有时候感慨到底java人有多少看过了tutorial

Greedy, Reluctant, and Possessive

input string xfooxxxxxxfoo.

    
    Enter your regex: .*foo  // greedy quantifier
    Enter input string to search: xfooxxxxxxfoo
    I found the text "xfooxxxxxxfoo" starting at index 0 and ending at index 13.

Greedy 其实是整个字符串开始匹配,然后慢慢的backs off,这样就能得到最大匹配串
(backs off的行为到底是怎么样的我没有研究)


    Enter your regex: .*?foo  // reluctant quantifier
    Enter input string to search: xfooxxxxxxfoo
    I found the text "xfoo" starting at index 0 and ending at index 4.
    I found the text "xxxxxxfoo" starting at index 4 and ending at index 13.

reluctant 是从字符串的最开始开始匹配,慢慢的增加,所以匹配到的是最小字串


    Enter your regex: .*+foo // possessive quantifier
    Enter input string to search: xfooxxxxxxfoo
    No match found.

possessive 是greeedy + no backs off,相当于整个字符串都塞进来看,结果.*就匹配了所有串,foo没有匹配到,所有就no match found

最后推荐一下 pattern 工具,这个工具的tutorial也很不错
http://www.regular-expressions.info/tutorial.html
分享到:
评论

相关推荐

    Greedy Layer-Wise Training

    empirically and explore variants to better understand its success and extend it to cases where the inputs are continuous or where the structure of the input distribution is not revealing enough about ...

    java正则表达式.pdf

    Quantifiers, Greedy, Reluctant and Possessive Quantifiers用于指定模式中某个元素出现的次数。有三种类型的Quantifiers:贪婪(Greedy)、不情愿(Reluctant)和占有欲强(Possessive)。 - **贪婪(Greedy)**...

    Greedy Snake.zip

    本项目“Greedy Snake.zip”是一个基于Windows 32位汇编语言编写的贪吃蛇游戏,展示了汇编语言在实现游戏逻辑方面的强大能力。下面我们将深入探讨该项目涉及的知识点。 一、汇编语言基础 汇编语言是计算机程序设计...

    Greedy-Snake_贪吃蛇

    贪吃蛇小游戏,闲的无聊可以下来玩玩,哈哈。由于java编写,所以需要 jre 环境噢,电脑装了java的都有此环境。纯手打,java开发,学习开发全流程见 ...

    GREEDY FUNCTION APPROXIMATION: A GRADIENT BOOSTING MACHINE

    ### GREEDY FUNCTION APPROXIMATION: A GRADIENT BOOSTING MACHINE #### 1. 引言与背景 本文探讨了一种新的函数逼近方法——贪心函数逼近法(Greedy Function Approximation, GFA),该方法特别关注梯度提升机...

    Greedy Algorithms and Greedy Analysis Pursuit for Non-linear sparse recovery: Modifications to Greedy Algorithms and Greedy Analysis Pursuit(GAP) for Non-Linear sparse Recovery。-matlab开发

    这项工作的第一部分是对现有 OMP 和 COSAMP 贪婪算法的修改,以便它们即使在指数和对数等非线性稀疏场景中也能有效恢复。 (包含对之前发布的工作的细微更改) 这项工作的第二部分代表对贪婪算法的分析先验计数器...

    Greedy算法经典问题的解答

    ### Greedy算法经典问题解析 #### 一、Greedy算法概览 Greedy算法是一种简单直观的算法设计策略,它在每一步选择中都采取当前看起来最优的选择,以期望达到全局最优解。这种策略并不总是能得到全局最优解,但在很...

    GreedySnake.zip

    本项目"GreedySnake.zip"提供了这样一个简单的Java实现,旨在帮助初学者熟悉Java开发的基本技术和流程。以下是该项目涉及的主要知识点: 1. **Java基础知识**:在Java中编写贪吃蛇游戏,需要对基本语法、类与对象、...

    Greedy Arithmetic

    对于一个毕业课程设计项目,"Greedy Arithmetic" 可能是将贪心算法应用于解决数学问题,比如求解最大子序列和、最小生成树等问题。在这样的设计中,学生需要理解贪心策略如何指导算法决策,并通过C语言编写代码来...

    Data Structures, Algorithms and Applications in C++ Second Edition

    Graphs and Performance analysis and Part III consists of Algorithm-Design Methods including Greedy method, Divide and conquer, Dynamic Programming, Backtracking (on the web), Branch and Bound (on the...

    greedy_c源程序

    根据提供的文件信息,本文将对“greedy_c源程序”中的关键知识点进行详细的解析与说明。此程序主要涉及了贪心算法(Greedy Algorithm)在C++中的实现,并结合具体的代码示例进行了演示。 ### 一、贪心算法概述 ...

    [C++]Greedy Snake

    【C++]Greedy Snake 是一个基于C++编程语言和EasyX图形库实现的贪吃蛇游戏。这个项目展示了如何利用编程技术将简单的二维数组映射为游戏画面,并通过队列数据结构来管理蛇的移动与生长。以下是这个游戏实现中的关键...

    greedysnake贪吃蛇小游戏

    在这个“greedysnake”项目中,我们将探讨如何使用JavaScript进行游戏开发。 1. **JavaScript基础** JavaScript是一种广泛用于网页和网络应用的脚本语言,它主要负责网页的动态交互。在贪吃蛇游戏中,JavaScript将...

    Algorithms Illuminated Part 3.pdf

    这本书主要介绍了贪心算法(Greedy Algorithms)和动态规划(Dynamic Programming)这两种算法设计范式。 首先,书籍讨论了贪心算法的设计范式,这是一类在每一步选择中都采取在当前状态下最好或最优(即最有利)的...

    PHP 7 - Data Structures and Algorithms

    Make use of greedy, dynamic, and pattern matching algorithms ? Implement tree, heaps, and graph algorithms ? Apply PHP functional data structures and built-in data structures and algorithms

    Greedy Snake

    贪食蛇(Greedy Snake)是一款经典且深受玩家喜爱的游戏,其核心玩法简单而有趣:控制一条不断移动的蛇,通过吃食物来增长,但要注意不能让蛇头碰到自己的身体或游戏边界,否则游戏结束。这个游戏在不同平台上都有...

    Greedy algorithm

    贪心算法是一种通用的算法设计范式,它基于几个关键元素构建而成,包括不同的选择、集合或值的配置以及赋予配置的评分函数,目的是最大化或最小化这些配置。当应用于具有贪心选择性质的问题时,贪心算法能通过一系列...

    Greedy-Snake.rar

    【贪吃蛇游戏开发概述】 贪吃蛇游戏是一款经典的计算机程序,它源于1976年的街机游戏《Blockade》。在这个游戏中,玩家通过控制一个不断增长的蛇来捕捉食物,每次吃到食物,蛇的长度就会增加,而游戏区域是有限的。...

    计算机 贪心greedy算法 ppt

    计算机贪心算法是算法设计中的一种方法,用于解决那些最优解可以通过局部最优选择得到的问题。贪心算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的...

Global site tag (gtag.js) - Google Analytics