• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > 详细介绍Ruby中的正则表达式

详细介绍Ruby中的正则表达式

作者:goldensun 字体:[增加 减小] 来源:互联网

goldensun 通过本文主要向大家介绍了ruby正则表达式,表达式详细介绍,ruby 正则,详细级别表达式,开网店的详细步骤等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

正则表达式是一种特殊序列的字符,它通过使用有专门语法的模式来匹配或查找其他字符串或字符串集合。
语法

正则表达式从字面上看是一种介于斜杠之间或介于跟在 %r 后的任意分隔符之间的模式,如下所示:

/pattern/
/pattern/im  # 可以指定选项
%r!/usr/local! # 一般的分隔的正则表达式
实例
#!/usr/bin/ruby
 
line1 = "Cats are smarter than dogs";
line2 = "Dogs also like meat";
 
if ( line1 =~ /Cats(.*)/ )
 puts "Line1 contains Cats"
end
if ( line2 =~ /Cats(.*)/ )
 puts "Line2 contains Dogs"
end
</div>

这将产生以下结果:

Line1 contains Cats
</div>

正则表达式修饰符

正则表达式从字面上看可能包含一个可选的修饰符,用于控制各方面的匹配。修饰符在第二个斜杠字符后指定,如上面实例所示。下标列出了 可能的修饰符:

201541093958504.jpg (982×274)

就像字符串通过 %Q 进行分隔一样,Ruby 允许您以 %r 作为正则表达式的开头,后面跟着任意分隔符。这在描述包含大量您不想转义的斜杠字符时非常有用。

# 下面匹配单个斜杠字符,不转义


%r|/|       
 
# Flag 字符可通过下面的语法进行匹配
%r[</(.*)>]i 

</div>

正则表达式模式

除了控制字符,(+ ? . * ^ $ ( ) [ ] { } | \),其他所有字符都匹配本身。您可以通过在控制字符前放置一个反斜杠来对控制字符进行转义。

下表列出了 Ruby 中可用的正则表达式语法。

201541094045775.jpg (957×701)

201541094114283.jpg (957×731)201541094152882.jpg (956×720)201541094244206.jpg (951×711)201541094311488.jpg (943×723)201541094334570.jpg (964×279)搜索和替换

sub 和 gsub 及它们的替代变量 sub! 和 gsub! 是使用正则表达式时重要的字符串方法。

所有这些方法都是使用正则表达式模式执行搜索与替换操作。sub 和 sub! 替换模式的第一次出现,gsub 和 gsub! 替换模式的所有出现。

sub 和 gsub 返回一个新的字符串,保持原始的字符串不被修改,而 sub! 和 gsub! 则会修改它们调用的字符串。

下面是一个实例:

#!/usr/bin/ruby
 
phone = "2004-959-559 #This is Phone Number"
 
# 删除 Ruby 的注释
phone = phone.sub!(/#.*$/, "") 
puts "Phone Num : #{phone}"
 
# 移除数字以外的其他字符
phone = phone.gsub!(/\D/, "")  
puts "Phone Num : #{phone}"
</div>

这将产生以下结果:

Phone Num : 2004-959-559
Phone Num : 2004959559
</div>

下面是另一个实例:

#!/usr/bin/ruby
 
text = "rails are rails, really good Ruby on Rails"
 
# 把所有的 "rails" 改为 "Rails"
text.gsub!("rails", "Rails")
 
# 把所有的单词 "Rails" 都改成首字母大写
text.gsub!(/\brails\b/, "Rails")
 
puts "#{text}"
</div>

这将产生以下结果:

Rails are Rails, really good Ruby on Rails
</div>

</div>

您可能想查找下面的文章:

  • 详细介绍Ruby中的正则表达式

相关文章

  • 利用Python中unittest实现简单的单元测试实例详解
  • 在Python中操作字符串之replace()方法的使用
  • 在Python3中使用asyncio库进行快速数据抓取的教程
  • python爬虫入门教程之点点美女图片爬虫代码分享
  • python通过索引遍历列表的方法
  • 总结网络IO模型与select模型的Python实例讲解
  • 用实例分析Python中method的参数传递过程
  • Python批量修改文本文件内容的方法
  • python装饰器decorator介绍
  • python基础教程之字典操作详解

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 实例讲解Python中的私有属性
    • Python实现的tab文件操作类分享
    • python实现在控制台输入密码不显示的方法
    • pyqt和pyside开发图形化界面
    • 利用Python批量生成任意尺寸的图片
    • Python内置的字符串处理函数详细整理(覆盖日常所用)
    • 使用python分析git log日志示例
    • Python设计模式之抽象工厂模式
    • 详解Python迭代和迭代器
    • python socket 超时设置 errno 10054

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有