作者热门文章
- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章举例初步讲解Ruby中的正则表达式由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
正则表达式是一个特殊的字符序列可以帮助匹配或者找到其他字符串或串套,使用的模式保持一个专门的语法.
正则表达式文本是一个模式之间的斜线之间或任意分隔符 %r 如下: 语法
。
。
例如:
1
2
3
4
5
6
7
8
9
10
11
|
#!/usr/bin/ruby
line1 =
"Cats are smarter than dogs"
;
line2 =
"Dogs also like meat"
;
if
( line1 =~ /Cats(.*)/ )
puts
"Line1 starts with Cats"
end
if
( line2 =~ /Cats(.*)/ )
puts
"Line2 starts with Dogs"
end
|
这将产生以下结果:
1
|
Line1 starts with Cats
|
正则表达式修饰符:
正则表达式的文字可以包括一个可选的修饰符来控制各方面的匹配。修改指定第二个斜杠字符后,如前面所示,可表示为这些字符之一:
%Q分隔字符串文字一样,Ruby允许正则表达式带 %r,然后由所选择的定界符。这是非常有用的,当所描述的模式中包含正斜杠字符不希望转义:
1
2
3
4
5
|
# Following matches a single slash character, no escape required
%r|/|
# Flag characters are allowed with this syntax, too
%r[</(.*)>]i
|
正则表达式模式:
除控制字符, (+ ? . * ^ $ ( ) [ ] { } | ), 所有字符匹配。可以转义控制字符前面加上反斜线.
搜索和替换:
String方法最重要的,使用正则表达式sub 和 gsub,他们就地变种sub! 和 gsub.
所有这些方法执行搜索和替换操作过程中使用一个正则表达式模式。sub & sub!替换第一次出现的模式 gsub & gsub!替换所有出现.
sub! 和 gsub! 返回一个新的字符串,未经修改的原始 sub 和 gsub 他们被称为修改字符串.
下面的例子:
1
2
3
4
5
6
7
8
9
10
11
|
#!/usr/bin/ruby
phone =
"2004-959-559 #This is Phone Number"
# Delete Ruby-style comments
phone = phone.sub!(/
#.*$/, "")
puts
"Phone Num : #{phone}"
# Remove anything other than digits
phone = phone.gsub!(/
D
/,
""
)
puts
"Phone Num : #{phone}"
|
这将产生以下结果:
1
2
|
Phone Num :
2004
-
959
-
559
Phone Num :
2004959559
|
下面是另一个例子:
1
2
3
4
5
6
7
8
9
10
11
|
#!/usr/bin/ruby
text =
"rails are rails, really good Ruby on Rails"
# Change "rails" to "Rails" throughout
text.gsub!(
"rails"
,
"Rails"
)
# Capitalize the word "Rails" throughout
text.gsub!(/rails/,
"Rails"
)
puts
"#{text}"
|
这将产生以下结果:
1
|
Rails are Rails, really good Ruby on Rails
|
。
最后此篇关于举例初步讲解Ruby中的正则表达式的文章就讲到这里了,如果你想了解更多关于举例初步讲解Ruby中的正则表达式的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我是一名优秀的程序员,十分优秀!