在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1while gets
但是,对于Ruby来说,这样还不够简洁,我们可以这样2 if /[a-zA-Z0-9\.\-_]@[a-zA-Z0-9\.\-_]/ 3 print 4 end 5end 6
ARGF.each {|line| print line if line =~ /[a-zA-Z0-9\.\-_]@[a-zA-Z0-9\.\-_]/ }
另外还有一个全局变量,$. 里面的内容是文件的总行数 还有其他的全局变量$&,&`,&' 这几个全局变量分别用于正则表达式中。 当你用match或者=~去匹配一个字符串和一个正则表达式时,结果是:$&存放字符串中匹配正则表达式的部分,$`存放字符串中$&部分的前一个字符串,$'存放字符串中$&部分的后一个字符串。 比如
str="good day! [email protected] It's a email"
reg=/[a-zA-Z0-9\-\._]+@[a-zA-Z0-9\-\._]+/ reg=~str puts $`,$&,$'
结果是 good day! 同时,在匹配后全局标量$1..$9里面存放的匹配于正则表达式中的各个小内容(也就是由括号括起来的内容,具体请看正则表达式教程) 例如:
code="<a href='http://www.google.com'>Google</a>"
reg=/<a href='(.+)'>(.+)<\/a>/ reg=~code puts $1,$2
结果是 http://www.google.com |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论