本文概述
- =∽和#match运算符
- #比赛
- 元字符和转义符
- 人物类
- 重复
- 分组
句法:
/search string/
Ruby 1.9使用Oniguruma正则表达式库, 而Ruby 2.0使用Onigmo正则表达式库。 Onigmo是Oniguruma的fork库, 添加了一些新功能。
=∽和#match运算符 模式匹配是通过使用=∽和#match运算符实现的。
=∽
这是基本的匹配模式。这里使用两个操作数。一个是正??则表达式, 另一个是字符串。正则表达式与字符串匹配。
如果找到匹配项, 则运算符将返回第一个匹配项的索引, 否则返回nil。
例:
文章图片
#比赛 该运算符在匹配时返回MatchData对象, 否则返回nil。
文章图片
元字符和转义符 元字符在模式中具有特定的含义。要匹配字符串, 请使用反斜杠(\\\)或对其进行转义。一些元字符是(, ), (。), (?), (+), (-), (*), [, ], {, }。
匹配时返回特定的字符串, 否则为nil。
例:
文章图片
人物类 元字符在模式中具有特定的含义。要匹配字符串, 请使用反斜杠(\\\)或对其进行转义。
字符类用方括号括起来。
[来自]
在此, [ab]表示a或b。 / ab /的对立表示a和b。
例:
文章图片
[广告]
在此, [a-d]等同于[abcd]。连字符(-)字符类表示字符范围。
例:
文章图片
[^ a-d]
^符号表示该范围中不存在的任何其他字符。
例:
文章图片
重复 到目前为止定义的字符与单个字符匹配。借助重复元字符, 我们可以指定它们需要发生多少次。这些元字符称为量词。
- *:零次或多次
- +:一次或多次
- ?:零次或一次(可选)
- {n}:恰好n次
- {n, }:n次或多次
- {, m}:m或更短的时间
- {n, m}:至少n次, 最多m次
文章图片
分组 分组使用括号将术语分组在一起。将术语归为一组。
例:
文章图片
在此示例中, 第一个模式匹配一??个元音, 后跟两个字符。
在第二种模式中, 它与一个元音和一个单词字符相匹配两次。
(?:..)
此表达式可提供分组而无需捕获。它组合术语而不创建反向引用。
例:
文章图片
推荐阅读
- Ruby字符串用法详细图解
- Ruby XPath和XSLT开发实例
- Ruby套接字编程介绍和实战图解
- Ruby OOPs概念(面向对象编程)
- Ruby范围解释和用法
- Ruby数组介绍和用法图解
- Ruby LDAP开发实战和原理全解
- Ruby多线程编程用法全解
- Ruby模块介绍和用法示例