博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一步一步学Ruby(十):Ruby正则表达式(下)
阅读量:6897 次
发布时间:2019-06-27

本文共 611 字,大约阅读时间需要 2 分钟。

hot3.png

本文内容:

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

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

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

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

二、锚

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

^     行首

$     行尾

\A   字符串的开始

\z    字符串的结尾

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

\b    单词边界

示例:

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

 

三、前视断言

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

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

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

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

四、修饰语

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

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

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

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

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

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

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

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

 

本文作者:王德水

转载于:https://my.oschina.net/thinkgem/blog/713348

你可能感兴趣的文章
【Cocos2d-x】Cocos2d-X网络编程-HttpRequest/HttpClient/HttpResponse
查看>>
用SQL语句,删除掉重复项只保留一条
查看>>
阿里云CDN直播架构与双11晚会直播实战
查看>>
辗转相除法_欧几里得算法_java的实现(求最大公约数)
查看>>
No bean named 'transactionManager' is defined
查看>>
spring cloud config 入门
查看>>
[20171110]toad 小技巧.txt
查看>>
C#开发SQLServer的Geometry和Geography存储
查看>>
策略模式(Strategy Pattern)
查看>>
非root用户挂载nfs
查看>>
云效【Work Like Alibaba线下沙龙】“业务为王”时代,DevOps怎么玩?
查看>>
我的Android进阶之旅------>关于使用Android Studio替换App的launcher图标之后仍然显示默认的ic_launcher图标的解决方法...
查看>>
Linux下GPIO驱动
查看>>
C#中各种计时器 Stopwatch、TimeSpan
查看>>
我的Java开发学习之旅------>解惑Java进行三目运算时的自动类型转换
查看>>
mybatis 使用经验小结
查看>>
linux下磁盘相关工具(待整理)
查看>>
为什么你的路由器穿墙能力差?看完秒懂
查看>>
漫谈数据库索引
查看>>
RTP与RTCP协议介绍
查看>>