网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

ruby正则表达式

1显式的正则表达式调用

成都网站建设、成都网站制作介绍好的网站是理念、设计和技术的结合。创新互联建站拥有的网站设计理念、多方位的设计风格、经验丰富的设计团队。提供PC端+手机端网站建设,用营销思维进行网站设计、采用先进技术开源代码、注重用户体验与SEO基础,将技术与创意整合到网站之中,以契合客户的方式做到创意性的视觉化效果。

有两个对象,一个是模式对象,一个是匹配结果对象

re = /(\d+):(\d+)/
md = re.match("Time: 12:34am")
p md, md[0], md[1], md[2], md[3], md.pre_match, md.post_match

2Perl式的正则表达式调用

这里面隐含了re对象、以及match对象

message = "Time: 12:34am"
message =~ /(\d+):(\d+)/
p $&, $1, $2, $3, $`, $'

3两个细节

=~表达式是有返回值的,如果不匹配返回nil,匹配则返回第一个字符的位置

message = "Time: 12:34am"
a = (message =~ /(\d+):(\d+)/)
p a

ruby是在match对象和$1这样的对象之间建立了一座桥梁,即$~

re = /(\d+):(\d+)/
md1 = re.match("Time: 12:34am")
md2 = re.match("Time: 10:30pm")
p $1, $2
$~ = md1
p $1, $2

4测试正则表达式匹配效果的代码

def show_regexp(a, re)
if a =~ re
"#{$`}<<#{$&}>>#{$'}"
else
"no match"
end
end
p show_regexp("abc\ndef\nghi", /abc/)

5锚点

参考http://fsjoy.blog.51cto.com/318484/68433/

^$是真正意义上行的起始点和结束点

\A\z是真正意义上字符串的起始点和结束点

\Z忽略字符串结束时的那个回车符,但是字符串中间的回车符不忽略

def show_regexp(a, re)
if a =~ re
"#{$`}<<#{$&}>>#{$'}"
else
"no match"
end
end
p show_regexp("hello world
fuck u down
towndown gardon
", /gardon\z/)

http://www.rubular.com/

这个网站测试锚点时回车必须敲出来,而不是用\n,应该是字符串识别的问题。

用show_regexp是直接回车,还是\n效果是一样的。


文章名称:ruby正则表达式
浏览地址:http://bjjierui.cn/article/gghooe.html

其他资讯