`
- 浏览:
344932 次
- 性别:
- 来自:
上海
-
thinking in java书上对正则表达式翻译不准确,导致学习困难,特从网上摘取了对量词的更准确浅显的定义,以此帮助自己记忆.
正则表达式的量词分别式贪婪,惰性,支配性
1.贪婪量词:先看整个字符串是不是一个匹配。如果没有发现匹配,
它去掉最后字符串中的最后一个字符,并再次尝试。
2.惰性量词: 先看字符串中的第一个字母是不是一个匹配。如果单独
这一个字符还不够,就读入下一个字符,组成两个字符的字符串。
如果还是没有发现匹配,惰性量词继续从字符串添加字符
直到发现一个匹配或者整个字符串都检查过也没有匹配。
惰性量词和贪婪量词的工作方式正好是相反的。
3.支配量词:只尝试匹配整个字符串。如果整个字符串不能产生匹配,不做
进一步尝试,支配量词其实简单的说,就是一刀切。
表示这3种量词:
贪婪 | 惰性 | 支配 | 描述 |
? | ?? | ?+ | 零次或一次出现 |
* | *? | *+ | 零次或多次出现 |
+ | +? | ++ | 一次或多次出现 |
{n} | {n}? | {n}+ | 恰好n次出现 |
{n,m} | {n,m}? | {n,m}+ | 至少n次枝多m次出现 |
{n,} | {n,}? | {n,}+ | 至少n次出现 |
贪婪量词测试
<script>
var str="abbbaabbbaaabbb1234";
var re1=/.*bbb/g;
alert(re1.exec(str));
</script>
惰性量词测试
<script>
var str="abbbaabbbaaabbb1234";
var re1=/.*?bbb/g;
alert(re1.exec(str));
</script>
支配性量词测试
<script>
var str="abbbaabbbaaabbb1234";
var re1=/.*+bbb/g;
alert(re1.exec(str));
</script>
由于使用支配性量词不能匹配到任何字符串,所以没有截图。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它用于匹配、查找、替换等操作,涉及字符串处理的各个领域。正则表达式转换工具是专门针对这一需求而设计的,它能帮助用户将输入的内容转换...
在VB.NET中,正则表达式(Regular Expression)是一种强大的文本处理工具,它允许程序员通过模式匹配来处理字符串。这个“vb正则表达式实例”很可能是为了帮助开发者测试和理解正则表达式的工作原理而设计的一个应用...
描述中提到的“pb中使用正则表达式组件,通过该组件可以在pb脚本中使用功能强大的正则表达式”,强调了pbregexp组件的强大功能,意味着它可能支持丰富的正则表达式语法,如量词(*、+、?)、字符类、预定义字符集、...
正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配和搜索。在C#编程语言中,正则表达式被广泛应用于数据验证、文本提取、格式转换等多个场景。本项目提供了一个C#编写的正则表达式测试工具,包含完整...
正则表达式(Deelx版)是一种强大的文本处理工具,它允许程序员和用户通过预定义的模式来匹配、查找、替换或者分析字符串。Deelx版是专门为提高正则表达式性能和功能而设计的一个支持库,适用于各种编程语言和应用场景...
1. **语法兼容性**:如描述所述,PCRE库的正则表达式语法与Perl语言高度兼容,这意味着开发者可以利用Perl中广泛使用的正则表达式语法,如贪婪和非贪婪量词、分支选择、反向引用等。 2. **Unicode支持**:PCRE库...
Java正则表达式是Java编程语言中用于处理字符串的强大工具,它基于模式匹配的概念,能够高效地进行文本搜索、替换和解析。在Java中,正则表达式主要通过`java.util.regex`包来实现,提供了Pattern和Matcher两个核心...
### 正则表达式在数据库查询中的应用 #### 引言 在数据库管理与应用程序开发中,查询数据是一项常见的任务。传统的SQL查询虽然强大,但在处理复杂查询时可能存在一定的局限性,尤其是涉及到文本数据的模式匹配时。...
- **解释器**:提供正则表达式的解释,帮助用户理解每个部分的作用。 - **匹配选项**:支持设置不同的匹配模式,如忽略大小写、多行模式等。 正则表达式的语法元素包括: - **基础字符**:如字母、数字、标点符号...
例如,"子程序_正则文本替换"可能就是一个易语言中用于执行正则表达式替换的子程序,它接收输入的文本、正则表达式模式和替换字符串,然后返回经过替换操作的新文本。 1. **正则表达式基础** - **元字符**:如`.`...
正则表达式(Regular Expression,简称regex)是一种用于匹配字符串的强大工具,广泛应用于文本处理、数据验证、搜索和替换等场景。在编程语言中,正则表达式通常以字符串的形式存在,通过特定的语法和模式来定义...
Java正则表达式匹配工具是IT领域中一种强大的文本处理工具,它利用正则表达式(Regular Expression)的规则来查找、替换或者提取文本中的特定模式。正则表达式是一种特殊的字符序列,能够帮助程序员或者用户高效地...
### 正则表达式基础知识与应用 #### 一、正则表达式的定义及用途 正则表达式(Regular Expression)是一种强大的文本处理工具,能够帮助用户查找、替换以及操作特定的字符串或字符组合。它在多种编程语言和操作...
正则表达式(Regular Expression,简称regex)是用于在文本中匹配特定模式的强大工具,广泛应用于数据验证、搜索替换和文本处理等领域。正则表达式调试工具是开发人员用来测试和优化这些模式的重要辅助工具。本文将...
正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配和搜索替换操作。C#作为.NET框架的一部分,提供了全面支持正则表达式的类库,使得开发人员能够方便地利用正则表达式进行复杂的文本处理任务。在这个...
在Python编程语言中,正则表达式是一种强大的文本处理工具,用于匹配、查找、替换等操作。本节将深入探讨`re.compile()`函数及其在创建正则表达式对象中的应用。`re.compile()`是Python标准库`re`模块中的一员,它...
正则表达式(Regular Expression,简称regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、搜索和替换等场景。在Python编程语言中,正则表达式提供了强大的文本处理能力,使得开发者能够高效地处理...
正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它用于匹配、查找、替换等操作,涉及字符串的模式匹配。在本主题中,我们将深入探讨如何使用正则表达式来生成满足特定条件的随机数据。这在...
它支持多种正则表达式语法,包括基本的字符匹配、量词、分组、预查以及更多的高级特性。由于它是纯C代码,因此可以方便地移植到各种操作系统和硬件平台。 **2. C语言与正则表达式** 在C语言中,没有内置的正则...
以下是对这些文档标题所涉及的Java正则表达式知识点的详细解释: 1. **正则表达式之道** 这个主题可能涵盖了正则表达式的基础概念,包括元字符、字符类、量词和分组。元字符如`.`代表任意字符,`^`表示行首,`$`...