`
xtuhcy
  • 浏览: 138800 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

正则表达式的完全匹配和部分匹配

    博客分类:
  • java
阅读更多

最近在开发gecco的开源爬虫时混淆了正则表达的部分匹配和完全匹配的概念,记录一下。

java的正则表达式有个很容易混淆的概念,部分匹配和完全匹配:

在Matcher类中有matches、lookingAt和find都是匹配目标的方法,但容易混淆,整理它们的区别如下:

  • matches:整个匹配,只有整个字符序列完全匹配成功,才返回True,否则返回False。但如果前部分匹配成功,将移动下次匹配的位置。
  • lookingAt:部分匹配,总是从第一个字符进行匹配,匹配成功了不再继续匹配,匹配失败了,也不继续匹配。
  • find:部分匹配,从当前位置开始匹配,找到一个匹配的子串,将移动下次匹配的位置。

 

举个例子:

  • 模式串为:^http://temai.tuniu.com/([^/]*)/([^/]*)
  • 待匹配字符串为:http://temai.tuniu.com/weihuo/tours/s4-p1/

matches返回false,find返回true;

0
0
分享到:
评论

相关推荐

    wps表格excel正则工具,excel正则表达式替换/匹配/查找/搜索/提取数字

    让 Office Excel、WPS 表格支持正则表达式的免费插件:「Excel 正则工具」顾名思义,需要使用 “正则表达式(PCRE)” 的知识来进行操作,对于完全没有接触过正则的朋友也许有一定的入门门槛,但正则实在是太过强大...

    使用正则表达式的模式匹配

    JavaScript的正则表达式完全以Perl程序设计语言的正则表达式工具为基础。粗略地说,JavaScript 1.2实现了Perl 4的正则表达式,JavaScript 1.5实现了Perl 5的正则表达式的大型子集。 本章定义了正则表达式用来描述...

    C#正则表达式完全手册

    由微软英文版在线文档整理而成的pdf手册,包含完整书签、文档内部链接,很适合C#正则表达式的学习与参考。

    php的正则表达式完全手册

    php的正则表达式完全手册php的正则表达式完全手册

    JAVA 正则表达式 教程

    正则表达式善于处理文本,对匹配、搜索和替换等操作都有意想不到的作用。正因如此,正则表达式现在是作为程序员七种基本技能之一*,因此学习和使用它在工作中都能达到很高的效率。 正则表达式应用于程序设计语言中,...

    精通正则表达式 中英文

    如今,正则表达式已经成为众多语言及工具——Perl、PHP、Java、Python、Ruby、MysQL、VB.NET和c#(以及.NET Framework中的任何语言)——中的标准特性,依靠它,你能以之前完全不敢设想的方式进行复杂而精巧的文本...

    nodejs+字符串的模式匹配+正则表达式+判断获取字符串的某些需求

    正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。搜索模式可用于文本搜索和文本替换。 语法 /正则表达式主体/修饰...

    精通正则表达式(第三版)

    《精通正则表达式(第3版)》主要讲解了正则表达式的特性和流派、匹配原理、优化原则、实用诀窍以及调校措施,并详细介绍了在Perl、Java、.NET、PHP中正则表达式的用法。 《精通正则表达式(第3版)》自第1版开始着力于...

    精通正则表达式(第三版)

    如今,正则表达式已经成为众多语言及工具——Perl、PHP、Java、Python、Ruby、MysQL、VB-NET和c#(以及.NETFramework中的任何语言)——中的标准特性,依靠它,你能以之前完全不敢设想的方式进行复杂而精巧的文本...

    [精通正则表达式(第3版)]中文版.(美)Jeffrey.E.F.Friedl-part1.rar

    如今,正则表达式已经成为众多语言及工具——Perl、PHP、Java、Python、Ruby、MySQL、VB.NET和C#(以及.NET Framework中的任何语言)——中的标准特性,依靠它,你能以之前完全不敢设想的方式进行复杂而精巧的文本...

    使用正则表达式检测字符串中重复出现的词

    使用正则表达式检测字符串中重复出现的词,程序完全可以运行,大家可以参考

    精通正则表达式(第3版) 英文版

    如今,正则表达式已经成为众多语言及工具——Perl、PHP、Java、Python、Ruby、MySQL、VB.NET和C#(以及.NET Framework中的任何语言)——中的标准特性,依靠它,你能以之前完全不敢设想的方式进行复杂而精巧的文本...

    正则表达式工具类

    典型的搜索和替换操作要求您提供与预期的搜索结果...可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。 基于模式匹配从字符串中提取子字符串。 可以查找文档内或输入域内特定的文本。

    正则表达式基础 Regular Expression

     正则表达式的优势和用途?  一种强大而灵活的文本处理工具;  提供了一种紧凑的、动态的方式,能够以一种完全通用的方式来解决各种字符串处理(例如:验证、查找、替换等)问题;  大部分语言 、数据库都...

    DEELX 正则表达式引擎

    DEELX 是一个在 C++ 环境下的与 Perl 兼容的正则表达式引擎。是 RegExLab 开展的一个研究开发项目。 基本特点: 支持与 Perl 兼容的正则表达式语法。 支持 IGNORECASE, SINGLELINE, MULTILINE 等常见匹配模式。 ...

    正则表达式

    JavaScript的RegExp对象和String对象定义了使用正则表达式来执行强大的模式匹配和文本检索与替换函数的方法. 在JavaScript中,正则表达式是由一个RegExp对象表示的.当然,可以使用一个RegExp()构造函数来创建RegExp...

    RegexBuddy 4.6.0正则表达式编辑工具免注册版.rar

    RegexBuddy是一款正则表达式编辑工具,使用它能够帮助你的编写需要的正则表达式,作为一款可完全可视化的正则式编写工具,其功能方面非常强大,不但可以自己编写表达式,还可以解释已有的表达式,自动生成带有正则...

    正则表达式函数笔记.php

    php正则表达式笔记,本人手写的 //----正则匹配----- $p = '/example/' $str = "I am an example"; preg_match($p,$str); //如果$str中含有$p两个/中间的内容(内容不要求完全相同,要求为包含于关系),则返回真 //...

    正则表达式30分钟入门教程

    恢复格式 文本格式约定:专业术语 元字符/语法格式 正则表达式 正则表达式中的一部分(用于分析) 对其进行匹配的源字符串 对正则表达式或其中一部分的说明 隐藏边注 本文右边有一些注释,主要是用来提供一些相关信息...

Global site tag (gtag.js) - Google Analytics