`
viva_yang
  • 浏览: 35577 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

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个英文字母或者下划线组成的字符串
评注:最基本也是最常用的一些表达式
分享到:
评论

相关推荐

    Ruby on Rails安装包全集(Linux)

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

    敏捷Rails中文教程

    - **正则表达式**:Ruby内置了强大的正则表达式支持,方便文本处理。 - **异常处理**:Ruby的异常处理机制允许开发者优雅地捕获和处理程序中的错误。 - **多线程与并发**:Ruby支持多线程编程,但需要注意的是,由于...

    Ruby On Rails For Dummies

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

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

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

    Rails相关电子书汇总二

    1. **Ruby基础**:变量、常量、符号、数组、哈希、字符串、正则表达式等基本数据类型,以及控制结构、方法、类和模块等面向对象特性。 2. **元编程**:Ruby强大的元编程能力使得代码更加灵活和可扩展,书中详细解释...

    Ruby for Rails

    ### Ruby for Rails:关键技术与实践 #### 一、引言 《Ruby for Rails》是一本专为希望快速掌握Ruby及Ruby on Rails框架的开发者而编写的书籍。此书旨在帮助读者理解Ruby语言的核心概念以及如何将这些概念应用于...

    用于过滤英文脏话的 Rails 插件 gem_Ruby_代码_相关文件_下载

    5. **扩展功能**:插件可能还支持更复杂的过滤逻辑,如正则表达式匹配、忽略大小写、忽略特定上下文等。查看插件文档以获取更详细的使用指南和API。 6. **测试与调试**:在开发过程中,确保对过滤功能进行充分的...

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

    在编程语言Ruby中,正则表达式是一个非常重要的概念,它是一种用于匹配字符串中字符组合的模式。在Ruby语言中,正则表达式不仅可以用于搜索和验证字符串,而且还可以执行复杂的文本处理,如查找、替换和分割字符串等...

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

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

    Node.js-code-notes一个node.js版本的Rails的“rakenotes”功能

    7. **源代码解析**:code-notes的实现可能涉及文件系统的操作(如读取目录和文件),正则表达式用于识别注释,以及可能的AST(抽象语法树)解析,以更准确地处理各种编程语言的注释结构。 8. **扩展性**:由于Node....

    Ruby中文参考手册

    8. **正则表达式**:Ruby的Regexp类提供了强大的文本匹配和操作功能,支持多种正则表达式语法。 9. **块和迭代器**:Ruby中的块(采用do..end或{}语法)和迭代器(如each、map等)是处理集合数据的重要工具。 10. ...

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

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

    Ruby on Rails中的ActiveRecord编程指南

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

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

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

    关于ruby的几本电子书

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

    validates_zipcode:Rails的邮政编码邮政编码验证,支持233个国家_地区代码

    正则表达式数据来自多个来源,它们是数据库的主要来源(版本27,约159个)。 其他任何国家的邮政编码都将有效地验证。 ValidatesZipcode支持Rails&gt; = 4.2和Ruby&gt; = 2.4。 这个gem也可以在Rails 3.2和Ruby 1.9.3中...

    Ruby on Rail 基础知识 一张纸

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

Global site tag (gtag.js) - Google Analytics