发布于 2016-01-28 02:56:38 | 122 次阅读 | 评论: 0 | 来源: 网友投递
Ruby编程语言
Ruby,一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言,在20世纪90年代由日本人松本行弘开发,遵守GPL协议和Ruby License。它的灵感与特性来自于 Perl、Smalltalk、Eiffel、Ada以及 Lisp 语言。
/\A((?:19|20)[0-9]{2})[\- \/.](0[1-9]|1[012])[\- \/.](0[1-9]|[12][0-9]|3[01])\z/
require 're'
include Re
delim = re.any("- /.")century_prefix = re("19") | re("20")under_ten = re("0") + re.any("1-9")ten_to_twelve = re("1") + re.any("012")ten_and_under_thirty = re.any("12") + re.any("0-9")thirties = re("3") + re.any("01")
year = (century_prefix + re.digit.repeat(2)).capture(:year)month = (under_ten | ten_to_twelve).capture(:month)day = (under_ten | ten_and_under_thirty | thirties).capture(:day)
date = (year + delim + month + delim + day).all
result = date.match("2009-01-23")result[:year] # => "2009"result[:month] # => "01"result[:day] # => "23"
例如,构建匹配电话号码的正则表达式:
PHONE_RE = re.digit.repeat(3).capture(:area) + re("-") + re.digit.repeat(3).capture(:exchange) + re("-") + re.digit.repeat(4)).capture(:subscriber)
PHONE_REGEXP = PHONE_RE.regexp
if PHONE_REGEXP =~ string
# blah blah blah
end