用例子初步解释Ruby中的正则表达式
正则表达式是一种特殊的字符序列,可以帮助匹配或查找其他字符串。所使用的模式保持一种特殊的语法。
正则表达式文本是斜杠或模式之间的任何分隔符% r如下:语法:
复制代码如下:可以指定:/pattern//pattern/im #选项% r!/usr/local!#常规分隔正则表达式
例如:
#!/usr/bin/rubyline1='猫比狗聪明';line2='狗也喜欢肉';If(第1行=~/cats(。*)/) puts '第1行以cats' endif开头(第2行=~/cats(。*)/)将“第2行从狗开始”放在末尾这将产生以下结果:
1第1行以cat正则表达式修饰符开始:
正则表达式的文本可以包含一个可选的修饰符来控制匹配的所有方面。修改第二个斜杠字符后,它可以表示为上述字符之一:
像% q分隔的字符串文字一样,Ruby允许正则表达式在% r后面跟随所选的分隔符。当描述的模式包含正斜杠字符并且不想转义时,这非常有用:
#以下匹配单个斜杠字符,不需要转义% r |/| #此语法也允许使用标志字符% r [/(。*)] I正则表达式模式:
除了控制字符,(?* $ () [] {} | \),所有字符匹配。您可以在转义控制字符前加反斜杠。
搜索和替换:
String方法最重要的是使用正则表达式sub和gsub,这是变体sub!还有gsub。
所有这些方法在搜索和替换操作中使用正则表达式模式。潜艇潜艇。替换第一次出现的模式gsub gsub!替换所有匹配项。
潜艇!还有gsub。返回一个新的字符串,未修改的原始sub和gsub,它们被称为修改的字符串。
以下示例:
#!/usr/bin/Ruby Phone=' 2004-959-559 #这是电话号码' #删除Ruby风格的评论phone=phone.sub!(/#.*$/,'')放“Phone Num : # { Phone }”#删除digitsphone=phone.gsub以外的任何内容!(/\ d/,'')放入“phonenum : # {phone}”,这将产生以下结果:
phone num : 2004-959-559 phone num : 2004959559下面是另一个例子:
#!/usr/bin/rubytext='rails就是rails,真的很好Ruby on rails'#通过outext . gsub把' Rails '改成' Rails '!(“rails”,“Rails”)#通过outtext.gsub将单词“Rails”大写!(/\ rails \ b/,' rails ')放入' # {text} '这将产生以下结果:
Rails就是Rails,非常好的Ruby on Rails
版权声明:用例子初步解释Ruby中的正则表达式是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。