论坛首页 入门技术论坛

Ruby中正则表达式的修饰符(译)

浏览 2654 次
该帖已经被评为新手帖
作者 正文
   发表时间:2006-10-29  
原文出处:
http://www.regular-expressions.info/ruby.html

在Ruby中使用正则表达式
Ruby支持正则表达式作为其一项语言特性。在Ruby中,正则表达式被写作 /模版/修饰符 的形式,这里的"模版"就是正则表达式本身,而"修饰符"则是一系列不同选项字符的标识,另外,"修饰符"部分是可选的。这个语法特点从Perl借鉴而来。
Ruby支持如下的修饰符:
/i 使正则表达式大小写不敏感(正则表达式本身是大小写敏感的)
/m 使"."匹配新行。Ruby使用/m,然而Perl和其他很多编程语言使用/s来实现"点(.)匹配新行"。
/o 它将致使任何的 #{...}替换符在一个特殊的正则表达式中仅仅被执行一次,它在第一次会被求值。然而,如果没有用/o,替换符将会每次都执行,并且产生一个Regexp对象。

你能同时使用如上的修饰符象这样: /rgex/is

在Ruby中,^字符号和$符号总是匹配新行的前后。Ruby没有修饰符能够改变这个特点。使用\A 和 \Z 可以匹配在字符串的始端或者末端。
因为正斜杆界定了正则表达式的长度,所以任何出现在正则表达式中的正斜杆都将被除去。例如,在ruby中,正则表达式 1/2 被写做 /1\/2/ (这里隐藏了含义,即反斜杆\,通常被我们成为转义符)
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics