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

一步一步学Ruby(十):Ruby正则表达式(下)

阅读更多

本文内容:

  • 贪婪量词和不贪婪量词
  • 前视断言
  • 修饰语
  • 正则与字符串的转换
  • 正则表达式常用的地方

一、贪婪量词和不贪婪量词

量词*(零个或多个)和+(一个或多个)是贪婪的,它们会匹配尽可能多的字符,我们可以在*和+后面加一个?,使它成为非贪婪量词

下面代码是: 1个或多个字符后接一个感叹号。

image

二、锚

锚是指必须满座一定的条件,才能继续匹配

^     行首

$     行尾

\A   字符串的开始

\z    字符串的结尾

\Z    字符串的结尾(不包括最后的换行符)

\b    单词边界

示例:

image

下面演示我们用正则取出注释的内容

image

image

image

 

三、前视断言

前视断言表示想要知道下一个指定的是什么,但并不匹配

1. 肯定的前视断言(?=)

假设我们想要匹配一个数的序列,该序列以一个圆点结束,但并不想把圆点作为模式匹配的一部分

image

2. 否定的前视断言(?!)

image

四、修饰语

修饰语位于正则表达式最结束正则表达式的正斜杠的后面

1. i  使正则表达式对大小写不敏感

image

2. m 使得正则表达式可以和任何字符匹配,包括换行符,通常情况下圆点通配符不匹配换行符

image

五、字符串与正则表达式的相互转换

1. 字符串内插进正则表达式

image

2.正则表达式转换成字符串

image

六、使用正则表达式的常见方法

image

image

还有sub/sub!和gsub/gsub!, grep这些也常用到正则表达式.

 

本文作者:王德水

未经同意,禁止转载

分享到:
评论

相关推荐

    正则表达式.pdf

    1. 编译正则表达式:使用re模块的compile函数将正则表达式编译成一个模式对象。 2. 匹配字符串:使用模式对象的match或search函数将正则表达式应用于字符串。 3. 提取匹配结果:使用group函数或groups函数提取匹配...

    the-book-of-ruby-正则表达式

    The Book Of Ruby Ruby 正则表达式 正则表达式 正则表达式 正则表达式 正则表达式

    精通正则表达式电子书

    ### 正则表达式的全面掌握 #### 一、正则表达式概述 正则表达式是一种功能强大的文本处理工具,可以用于在各种编程语言中进行数据的搜索、替换以及提取等操作。它作为一种标准特性已经广泛应用于多种流行的语言与...

    ruby_regex:Ruby正则表达式库

    RubyRegex是Ruby中很好的正则表达式集合 常用表达 RubyRegex::Url RubyRegex::Domain RubyRegex::Email RubyRegex::Username RubyRegex::USSocialSecurity RubyRegex::GeneralPostalCode RubyRegex::ZIPCode ...

    掌控正则表达式:第三版

    ### 掌控正则表达式:第三版 #### 书籍简介 《掌控正则表达式:第三版》是一本深入探讨正则表达式的经典著作,由 Jeffrey B. Friedl 编写,O'Reilly 出版社出版。本书旨在帮助读者理解和掌握正则表达式的强大功能,...

    ruby正则表达式规则

    ### Ruby正则表达式规则详解 #### 一、引言 在Ruby编程语言中,正则表达式(Regular Expression)是一种强大的文本处理工具,被广泛应用于字符串搜索与替换、数据验证以及模式匹配等场景。本篇文章将深入探讨Ruby...

    正则表达式入门指导.ppt

    - **大小写不敏感**:默认情况下,正则表达式是区分大小写的,但可以设置为不区分大小写。 - **通配符**:`.`代表任意单个字符,如"t.n"会匹配所有以"t"开始,以"n"结束的字符串,包括"tan"、"ten"等。 正则表达式...

    ruby正则表达式

    接下来,我们将深入探讨Ruby正则表达式的主要知识点。 ### 一、字符规则 1. **基础字符匹配**:`/a/`会匹配字符`a`。 2. **字符集**:`/[\d]/`匹配任意数字;`/[\w]/`匹配任何字母、数字或下划线;`/[\s]/`匹配...

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

    十年三版,再显王者风范,近30年开发经验的智慧结晶,深入理解正则表达式,彻底修炼基本功,全球第一本全面深入讲解正则表达式的经典巨著,《程序员》杂志技术主编孟岩鼎力推荐。 专家点评:《精通正则表达式》是...

    js_regex,将Ruby正则表达式转换为JavaScript正则表达式。.zip

    js_regex,将Ruby正则表达式转换为JavaScript正则表达式。.zip

    精通正则表达式 中英文

    精心调校后的正则表达式只需要十多秒就能完成以前数小时才能完成的枯燥任务。如今,正则表达式已经成为众多语言及工具——Perl、PHP、Java、Python、Ruby、MysQL、VB.NET和c#(以及.NET Framework中的任何语言)...

    正则表达式经典实例

    6. **个性化需求满足**:通过大量的实例,引导读者根据自己的需求创建更加定制化的正则表达式,以解决特定场景下的问题。 7. **跨语言比较**:对比分析了不同编程语言中正则表达式的实现细节,帮助读者了解各种语言...

    Regex_Reader:读取正则表达式并使用正则表达式验证ASCII文件

    Ruby作为一种动态、面向对象的编程语言,提供了内置的Regexp类来支持正则表达式操作。本篇文章将深入探讨Regex_Reader项目,它允许用户读取正则表达式并用其来验证ASCII文件的有效性。 首先,我们需要了解ASCII文件...

    正则表达式框架OgreKit.zip

    OgreKit 是一款为 Cocoa 开发的正则表达式框架,该框架提供了一个与 Ruby 使用的相同的正则表达式引擎与一个高层次的 GUI 查找面板。可以在这里获取源码。 OgreKit 使用 Oniguruma/Onigmo 正则表达式引擎。...

    正则表达式袖珍手册

    - **Ruby**:介绍了Ruby中面向对象的正则表达式接口。 - **JavaScript**:讨论了JavaScript中的`RegExp`对象。 - **PCRE**:介绍了Perl兼容正则表达式库(PCRE)的功能。 - **Apache Web Server**:讲解了如何在...

    正则表达式完整高清版

    《正则指引》针对作者在开发中遇到的实际问题,以及其他开发人员咨询的问题,总结出一套使用正则表达式解题的办法,并通过具体的例子指导读者拆解、分析问题。全书分为三大部分:第一部分主要讲解正则表达式的基础...

    探索Ruby的文本匹配神器:正则表达式的全面指南

    Ruby是一种高级的、面向对象的编程语言,由日本开发者松本行弘(Yukihiro "Matz" Matsumoto)在1995年创建。Ruby语言的设计哲学强调了简洁和生产力,它结合了多种编程范式,包括面向对象、命令式、函数式和过程式...

Global site tag (gtag.js) - Google Analytics