`
dingchunlai
  • 浏览: 19424 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

ror常用正则表达式

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

匹配中文字符的正则表达式: [\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 Rail 基础知识 一张纸

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

    ruby 基础 知识 有利于学好ruby

    正则表达式在Ruby中是非常强大的工具,可以用来匹配文本模式。例如,检查一个字符串是否以特定的字符结尾: ```ruby text = "Hello, world!" if text =~ /world!$/ puts "Text ends with 'world!'." end ``` 这里...

    Ruby on Rails安装包全集(Linux)

    2. **pcre-6.6.tar.gz**: PCRE(Perl Compatible Regular Expressions)是Perl兼容的正则表达式库,为编程语言提供强大的文本匹配功能。Ruby在处理字符串和正则表达式时会用到这个库。 3. **lighttpd-1.4.11.tar.gz...

    RoR性能优化经验谈

    RoR(Ruby on Rails)是一种流行的开源Web开发框架,以其高效和简洁的代码著称。然而,随着网站规模的增长,性能优化成为必不可少的环节。在本文中,我们将探讨一些RoR性能优化的关键方面,主要基于JavaEye网站在...

    神经网络ror resenet模型

    CIFAR-10和CIFAR-100是常用的图像识别数据集,由100,000张32x32像素的彩色图片组成,分为训练集和测试集。CIFAR-10包含10个类别,每个类别有6,000张图片;而CIFAR-100则有100个类别,每类有600张图片。这两个数据集...

    ror中文资料

    2. **控制结构**:Ruby提供了if语句、case语句、循环(如for、while、until)以及条件表达式,用于控制程序流程。 3. **方法和块**:Ruby中的方法定义简单,可以接受参数,并通过return语句返回值。块是Ruby的一个...

    网络编程语言 幻灯片

    【Perl】语言由于Perl 6的开发进度缓慢,面临困境,其在文本处理的优势因其他语言对正则表达式的支持和XML的广泛使用而减弱。 【Ruby】语言及RoR的崛起是一个显著的趋势,Ruby 2.0的发布和RoR 2.0的推出预示着其在...

    redmine开发者指南

    5. **内置正则表达式**:Ruby内置了强大的正则表达式引擎,可以轻松处理文本匹配和替换操作。 6. **迭代器和块(Block)** - **迭代器循环**:可以使用`downto`、`each`等方法进行循环遍历。 - **块(Block)**:Ruby...

    RoR选题方向—源代码

    Ruby on Rails(RoR)是一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web开发过程。在这个选题方向中,我们主要探讨的是与RoR相关的源代码分析和学习。源代码是...

    ruby学习资料

    2. 丰富的标准库:Ruby拥有丰富的标准类型库,包括数字、字符串、数组、哈希、范围和正则表达式等。 3. 块和迭代器:Ruby提供了强大的迭代器和块的概念,使得对集合的处理变得简洁而强大。 4. 语法简洁:Ruby的语法...

    ROR安装必备所有架包

    在Ruby on Rails(ROR)开发环境中,安装和配置正确的依赖包是至关重要的。这个压缩包包含了一系列用于ROR框架的基础组件,但不包括Ruby本身。让我们深入了解一下这些包的作用和重要性。 首先,`actionpack`是Rails...

    ror

    NULL 博文链接:https://xuxiangpan888.iteye.com/blog/266696

    ror实例

    Ruby on Rails(简称RoR或Rails)是一种基于Ruby语言的开源Web应用框架,它遵循Model-View-Controller(MVC)架构模式,旨在提高开发效率并提供简洁、优雅的代码结构。"ror实例"可能指的是在学习或实践中,通过创建...

    RoRBlog 基于RoR的博客系统

    基于RoR的博客系统,代码风格简单清晰,前后太完善,适合初学者。

    初探ROR

    **初探ROR** Ruby on Rails(简称ROR)是一个基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在促进开发过程的简洁性和效率。Ruby on Rails的核心理念是“Don't Repeat ...

    软件2.0详细介绍---ppt,统筹各种软件2.0技术

    4. **Perl**:Perl 6的发展滞后于.NET,Perl的优势(如文本处理)因正则表达式普及和XML的广泛应用而减弱。 5. **Ruby**:Ruby的势头强劲,Ruby 2.0和RoR 2.0的发布使其声势大增,可能超越Perl,仅与Python和PHP...

    强大的Python-完全用Python工作.docx

    与其他语言相比,如Perl的正则表达式密集型语法和Lisp的抽象语法树,Python的代码更易于理解和维护。对于初学者而言,Python是理想的入门语言,因为它的语法清晰,概念直观。 尽管Python在性能上可能不及C++或Java...

    RoR 培训课程PPT

    - **ActiveSupport库**:解析ActiveSupport库提供的常用工具和辅助方法,提升开发效率。 - **Rails 2.0新特性**:概述Rails 2.0版本新增的重要功能和改进点。 - **部署、安全性和性能优化**:讨论应用的部署流程...

    freemis 基于ror框架的mis

    FreeMIS是一个基于Ruby on Rails(RoR)框架构建的管理信息系统(MIS)。RoR是由David Heinemeier Hansson开发的一个开源Web应用程序框架,它遵循“Don't Repeat Yourself”(DRY)原则,强调简洁和生产力。RoR使用...

Global site tag (gtag.js) - Google Analytics