一步一步学Ruby(十):Ruby正则表达式(下)
本文内容:
- 贪婪量词和不贪婪量词
- 锚
- 前视断言
- 修饰语
- 正则与字符串的转换
- 正则表达式常用的地方
一、贪婪量词和不贪婪量词
量词*(零个或多个)和+(一个或多个)是贪婪的,它们会匹配尽可能多的字符,我们可以在*和+后面加一个?,使它成为非贪婪量词
下面代码是: 1个或多个字符后接一个感叹号。
二、锚
锚是指必须满座一定的条件,才能继续匹配
^ 行首
$ 行尾
\A 字符串的开始
\z 字符串的结尾
\Z 字符串的结尾(不包括最后的换行符)
\b 单词边界
示例:
下面演示我们用正则取出注释的内容
三、前视断言
前视断言表示想要知道下一个指定的是什么,但并不匹配
1. 肯定的前视断言(?=)
假设我们想要匹配一个数的序列,该序列以一个圆点结束,但并不想把圆点作为模式匹配的一部分
2. 否定的前视断言(?!)
四、修饰语
修饰语位于正则表达式最结束正则表达式的正斜杠的后面
1. i 使正则表达式对大小写不敏感
2. m 使得正则表达式可以和任何字符匹配,包括换行符,通常情况下圆点通配符不匹配换行符
五、字符串与正则表达式的相互转换
1. 字符串内插进正则表达式
2.正则表达式转换成字符串
六、使用正则表达式的常见方法
还有sub/sub!和gsub/gsub!, grep这些也常用到正则表达式.
本文转自敏捷的水博客园博客,原文链接http://www.cnblogs.com/cnblogsfans/archive/2009/02/03/1383505.html如需转载请自行联系原作者
王德水