ruby 正则表达式_Ruby_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Ruby > ruby 正则表达式

ruby 正则表达式

 2012/4/23 12:43:16  michael_roshen  程序员俱乐部  我要评论(0)
  • 摘要:Regexp类:1、使用/.../或者%r{}创建,或者Regexp.new/hay/=~'haystack'#=>0#返回值为匹配字符所在位置,或者nil/y/.match('haystack')#=>#<MatchData"y">#返回值为MatchData或者nil2、/[[:alnum:]]/-等价于[0-9a-zA-z]/[[:alpha:]]/-等价于[a-zA-Z]/[[:blank:]]/-空格或tab/[[:cntrl:]]/-ctrl/[[
  • 标签:Ruby 正则表达式 表达式 正则

Regexp 类:
1、使用 /.../ 或者 %r{} 创建,或者 Regexp.new

?

?

/hay/ =~ 'haystack' #=> 0 # 返回值为匹配字符所在位置,或者 nil
/y/.match('haystack') #=> #<MatchData "y"> # 返回值为 MatchData 或者 nil

?

?

2、

?

?

/[[:alnum:]]/ - 等价于 [0-9a-zA-z]
/[[:alpha:]]/ - 等价于 [a-zA-Z]
/[[:blank:]]/ - 空格或 tab
/[[:cntrl:]]/ - ctrl
/[[:digit:]]/ - [0-9]
/[[:graph:]]/ - 非空白字符 (excludes spaces, control characters, and similar)
/[[:lower:]]/ - 等价于 [a-z]
/[[:print:]]/ - Like [:graph:], but includes the space character
/[[:punct:]]/ - Punctuation character
/[[:space:]]/ - 空白字符 ([:blank:], 换行,回车, 等.)
/[[:upper:]]/ - 大写字符,[A-Z]
/[[:xdigit:]]/ - 16进制数,等价于 [0-9a-fA-F] (i.e., 0-9a-fA-F)
/[[:word:]]/ - A character in one of the following Unicode general categories Letter, Mark, Number, Connector_Punctuation
/[[:ascii:]]/ - A character in the ASCII

?

?3、修饰符

?

?

/pat/i -  忽略大小写
/pat/m - 允许 . 匹配回车换行;同 perl 的 s 修饰符类似。
/pat/x - 忽略空白字符和注释;模板可以写的较为优美,易读。
/pat/o - 仅对 #{} 做一次解析;具体用法还没搞清楚。
i, m, 和x 修饰符可以用在子表达式中。通过 (?) 语法进行开关。

?

? ? 例如rails中使用validates进行校验,匹配图片的格式时,使用 %r{}i?

?

  validates_format_of :image_url, :with => %r{\.(gif|jpg|png)$}i, 
                      :on => :create,
                      :message => "must be a URL for GIF, JPG or PNG image"
?

?

4、字符编码

?

?

/pat/u - UTF-8
/pat/e - EUC-JP
/pat/s - Windows-31J
/pat/n - ASCII-8BIT
?

?

?

上一篇: rails render partial 参数 变量说明 下一篇: 没有下一篇了!
发表评论
用户名: 匿名