摘要:
原文链接:http://www.ruby-doc.org/core-1.9.3/Regexp.htmlRegexpA Regexp holds a regular expression, used to match a pattern against strings. Regexps are created using the /.../ and %r{...} literals, and by the Regexp::new constructor.Regular expressions (regexps) are patterns which describe the contents o 阅读全文
摘要:
1.puts /[一-龥]+/.match("this is 中文") =>中文2.str2="123中文"puts /\p{Han}+/u.match(str2)文本编码格式:utf-8文件第一行:#encoding:utf-8require "rubygems"require "iconv"print Iconv.iconv("GBK","UTF-8",/\p{Han}+/u.match("tiantianxin你好angshang天天向上")[ 阅读全文
摘要:
假设一个字符串当中有很多符合规则的信息,下面的例子可以把所有匹配到的结果打印出来:message="afhadhffkdf414j9tr3j43i3433094jwoert223jwew123dfdf"regex=/[a-z](\d{3})[a-z]/ message.scan(regex).each{|m|puts"Test#{m[0]}"} message="afhadhffkdf414j9tr3j43i3433094jwoert223jwew123dfdf"regex=/[a-z](\d{3})[a-z]/ message.sc 阅读全文
摘要:
1.在线的ruby正则表达式编辑工具:http://www.rubular.com/2.Ruby的正则表达式以"//"作为构造方法。表达式返回一个RegExp的对象puts /a/.class =>Regexp3.String和RegExp均支持=~和match 2个查询匹配方法puts "hello world!"=~/llo/ => 2a=/llo/.match("hello world,world hello!") a是一个matchdata对象puts a[0] =>ll0如果能够匹配,=~返回匹配的字符串位 阅读全文
摘要:
引用连接:为处理与正则表达式的匹配过程相关的信息而设置的类. 可以通过下列途径Regexp.last_matchRegexp#match, String#match$~得到该类的实例.超类:Object方法:self[n]返回第n个子字符串. 0表示整个匹配部分. 若n为负值,则从尾部算起(末尾的元素是第-1个). 若不存在第n个元素则返回nil./(foo)(bar)(BAZ)?/ =~ "foobarbaz"p $~.to_a # => ["foobar", "foo", "bar", nil]p $~[ 阅读全文
摘要:
1.str="abc123"puts str[0].chr => aputs str[0] =>a的ascii码2.中文字符串的正则表达式文本编码:utf-8文件第一行:#encoding:urf-8require "iconv" str="八万"reg=/(.+)万/data=reg.match(str)result = Iconv.iconv("GBK","UTF-8",data[0]) puts result =>输出:八万3.含中文字符串的长度文本编码:utf-8文件第 阅读全文
摘要:
Apatana Studio只会找ruby/bin的ruby执行档....为了在Apatana Studio用JRuby,除了设定好Path之外还要在JRuby/bin下建立一的ruby.bat,里面填写@c:\jruby-1.7.0\bin\jruby %*后储存,这样就可以用JRuby了JRuby的安装路径而不一定是jruby-1.7.0 阅读全文
摘要:
if __FILE__ == $0end__FILE__是一个“具有魔力”的变量,它代表了当前文件名。$0是用于启动程序的文件名。那么代码“if __FILE__ == $0”便意味着检查此文件是否为将被使用的主程序文件。这样做可以使程序文件作为代码库使用,而不是可执行代码;但当此文件被用作执行文件时,也可被执 行。 阅读全文