[Ruby-0]正则表达式(regular expression)


Ruby的正则表达式定义在两个/中,如
A.match /\d+/

=~

=~返回第一给对应到的字符的index,否则返回nil

# Find the word 'like'
"Do you like cats?" =~ /like/

在这里插入图片描述
如果你不在乎对应字母的index,也可以使用String#include?

范围(Range)

[0-9]匹配任意0到9的数字
[a-z]匹配任意a到z的字母
[^a-z]匹配任意不是a到z的字符

def contains_number(str)
  str =~ /[0-9]/
end
contains_number("The year is 2015")  # returns 12
contains_number("The cat is black")  # returns nil

缩写(shorthand syntax)

\w相当于 [0-9a-zA-Z]
\d相当于[0-9]
\s相当于空格(tab\space etc.)
如果要取反的话,就将字母变为大写,如\W
需要注意的是.可以匹配任何东西,如果你想匹配.的话需要在前面加上
在这里插入图片描述

修饰语(Modifier)

和其他语言相近
+:一个或多个
?:0个或1个
*:0个或者更多
{a,b}:a到b个
如果想将匹配结果转化为boolean,可以使用!!是
在这里插入图片描述

获取匹配部分的字符

使用match可以获得匹配的得到的字符

puts "x.y".match /\w\.\w/ #x.y

如果想让其限制在本行可以加上^和$

"Berkeley".match /^\w{4}$/

今天先写到这,会继续更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值