`
hot88zh
  • 浏览: 182797 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ruby on rails 常用正则表达式

阅读更多

正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。

 

匹配中文字符的正则表达式: [\u4e00-\u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了

 

匹配双字节字符(包括汉字在内):[^\x00-\xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

 

匹配空白行的正则表达式:\n\s*\r
评注:可以用来删除空白行

 

匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?|<.*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力

 

匹配首尾空白字符的正则表达式:^\s*|\s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式

 

匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
评注:表单验证时很实用

 

匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求

 

匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用

 

匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}
评注:匹配形式如 0511-4405222 或 021-87888822

 

匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始

 

匹配中国邮政编码:[1-9]\d{5}(?!\d)
评注:中国邮政编码为6位数字

 

匹配身份证:\d{15}|\d{18}
评注:中国的身份证为15位或18位

 

匹配ip地址:\d+\.\d+\.\d+\.\d+
评注:提取ip地址时有用

 

匹配特定数字:
^[1-9]\d*$    //匹配正整数
^-[1-9]\d*$   //匹配负整数
^-?[1-9]\d*$   //匹配整数
^[1-9]\d*|0$  //匹配非负整数(正整数 + 0)
^-[1-9]\d*|0$   //匹配非正整数(负整数 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$   //匹配正浮点数
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$  //匹配负浮点数
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$  //匹配浮点数
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$   //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$  //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正

 

匹配特定字符串:
^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串
评注:最基本也是最常用的一些表达式

分享到:
评论
3 楼 angjunwen 2012-01-17  
^[1-9]\d*|0$ 这个能处理小数吗?
2 楼 yangzhihuan 2009-07-15  
在irb中输入
/[\u4e00-\u9fa5]/ =~ '测试' # => nil

结果居然是 nil ,不知道是什么原因?
1 楼 qichunren 2008-12-15  
很好。 

相关推荐

    Ruby on Rails安装包全集(Linux)

    Ruby on Rails是一款基于Ruby语言的开源Web开发框架,它遵循MVC(模型-视图-控制器)架构模式,简化了Web应用的开发流程。在Linux环境下安装Ruby on Rails需要一系列的依赖包和步骤,本资源包提供了所需的所有组件,...

    举例初步讲解Ruby中的正则表达式

    Ruby为字符串提供了几个专门使用正则表达式的方法,其中最常用的是sub和gsub方法。这两个方法都用于替换字符串中符合正则表达式的部分。区别在于sub方法只替换第一次匹配的结果,而gsub方法替换所有匹配的结果。这两...

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

    Ruby中的正则表达式是强大的文本处理工具,用于在字符串中进行模式匹配、搜索和替换。它们由一系列特殊字符和语法组成,使得开发者能够高效地处理文本数据。 首先,正则表达式通常由两个斜杠 `/` 包围,例如 `/...

    探索Ruby的文本匹配神器:正则表达式的全面指南

    Ruby是一种高级的、面向对象的编程语言,由日本开发者松本行弘(Yukihiro "Matz" Matsumoto)在1995年...8. **Web开发框架**:Ruby on Rails是一个流行的服务器端Web应用框架,它遵循MVC(模型-视图-控制器)架构模式。

    Ruby On Rails For Dummies

    - **Routing**:Rails 使用了一种基于正则表达式的路由机制,可以根据 URL 自动映射到对应的控制器方法。 - **Middleware**:中间件是 Rails 应用的一个重要组成部分,它们位于 HTTP 请求和响应的处理流程中,可以...

    awesome-regex:精选的正则表达式库,工具,框架和软件的精选集合

    例如,在Ruby on Rails中,路由配置可以使用正则表达式来实现灵活的URL匹配。 4. **软件**:某些软件或应用也内建了对正则表达式的支持,如文本编辑器Sublime Text、VS Code,它们允许用户使用正则表达式进行查找和...

    Ruby on Rail 基础知识 一张纸

    正则表达式在Ruby on Rails中用于模式匹配和文本处理,以下是一些常用的正则表达式符号: - `^`: 表示字符串的开始。 - `$`: 表示字符串的结束。 - `.`: 匹配任何单个字符。 - `(a|b)`: 表示a或b。 - `()`: 表示一个...

    Ruby for Rails

    - Ruby中的正则表达式功能强大,可用于文本匹配和替换等操作。 - 字符串操作是Ruby中的一个重要方面,提供了丰富的方法来进行字符串的格式化、分割、连接等。 5. **动态特性** - Ruby的动态特性是其最大的特点之...

    Ruby-Rails日志分析器查看您的视图渲染的速度

    使用正则表达式或者专门的日志解析库(如lograge)来提取关键信息,例如视图渲染的开始和结束时间。 3. **计算渲染时间**:一旦我们有了开始和结束时间,可以通过减法计算出视图渲染的具体耗时。考虑到时间戳通常为...

    关于ruby的几本电子书

    它深入探讨了Ruby语言的各种特性,包括基础语法、面向对象编程、模块和类、异常处理、文件系统操作、网络编程以及正则表达式等。书中的例子丰富,旨在帮助读者理解并掌握Ruby的精髓,从而能以"Ruby Way"的方式来思考...

    ruby基础教程中文第四版

    9. **正则表达式**:Ruby内置了强大的正则表达式引擎,提供了丰富的匹配和替换功能。 10. **文件和I/O操作**:Ruby提供了方便的API进行文件读写和系统级I/O操作,如File、Dir、IO等类。 11. **线程和并发**:Ruby...

    Ruby完全自学手册

    4. 标准库的使用:文件操作、网络编程、正则表达式处理等。 5. Ruby on Rails框架的学习:路由、视图、控制器、模型、数据库迁移等。 6. 测试与调试:单元测试、功能测试、集成测试、日志调试等。 由于提供的【部分...

    ruby解释性脚本语言中文文档

    Ruby还拥有一个活跃的社区和强大的生态系统,其中包括著名的Web框架Ruby on Rails。Rails以其“约定优于配置”的原则和“DRY”(Don't Repeat Yourself)理念,极大地提升了Web应用的开发效率。此外,RubyGems是Ruby...

    ruby中文 文档

    7. **正则表达式(Regexp)**:Ruby内置了强大的正则表达式支持,用于文本匹配和处理。 8. **文件和I/O操作**:学习如何读写文件,以及进行标准输入输出和流处理。 9. **线程和并发**:Ruby支持多线程,文档会解释...

    Ruby on Rails中的ActiveRecord编程指南

    对于重复使用的验证规则或者正则表达式匹配的情况,创建自定义验证器可以提高代码的可读性和可维护性。例如: ```ruby # 差的方式 class Person validates :email, format: { with: /^([^@\s]+)@((?:[-a-z0-9]+\.)...

    Ruby语言入门教程(附源码文件)

    它强调简洁性、可读性和开发者的生产力,是许多开发者首选的语言,尤其在Web开发领域,如Ruby on Rails框架的应用。本教程将引导你了解Ruby语言的基本概念和语法,帮助你快速入门。 1. **变量和数据类型** Ruby...

    ruby入门中文合集

    7. **正则表达式**:理解Ruby中的正则表达式语法,以及如何使用它们进行文本匹配和处理。 8. **元编程**:Ruby的强大之处在于其元编程能力,你将学习如何在运行时修改和扩展代码,理解`class_eval`和`instance_eval...

    hw-ruby-intro:使用Ruby on Rails进行敏捷开发的Ruby简介分配

    编写使用Ruby语言使用基本构造的简单代码,包括方法和参数,条件,字符串和数组操作,正则表达式以及基本的面向对象的编程机制 了解Ruby项目约定,以了解代码文件和测试文件在项目的目录层次结构中的位置 使用RSpec...

    ruby中文文档.chm

    6. **正则表达式**:掌握Ruby中的正则表达式,用于文本匹配和处理。 7. **模块与命名空间**:理解模块如何帮助组织代码和避免命名冲突。 8. **元编程**:探索Ruby的send方法、class_eval、instance_eval等元编程技巧...

Global site tag (gtag.js) - Google Analytics