正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。
匹配中文字符的正则表达式: [\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是一款基于Ruby语言的开源Web开发框架,它遵循MVC(模型-视图-控制器)架构模式,简化了Web应用的开发流程。在Linux环境下安装Ruby on Rails需要一系列的依赖包和步骤,本资源包提供了所需的所有组件,...
- **正则表达式**:Ruby内置了强大的正则表达式支持,方便文本处理。 - **异常处理**:Ruby的异常处理机制允许开发者优雅地捕获和处理程序中的错误。 - **多线程与并发**:Ruby支持多线程编程,但需要注意的是,由于...
- **Routing**:Rails 使用了一种基于正则表达式的路由机制,可以根据 URL 自动映射到对应的控制器方法。 - **Middleware**:中间件是 Rails 应用的一个重要组成部分,它们位于 HTTP 请求和响应的处理流程中,可以...
使用正则表达式或者专门的日志解析库(如lograge)来提取关键信息,例如视图渲染的开始和结束时间。 3. **计算渲染时间**:一旦我们有了开始和结束时间,可以通过减法计算出视图渲染的具体耗时。考虑到时间戳通常为...
1. **Ruby基础**:变量、常量、符号、数组、哈希、字符串、正则表达式等基本数据类型,以及控制结构、方法、类和模块等面向对象特性。 2. **元编程**:Ruby强大的元编程能力使得代码更加灵活和可扩展,书中详细解释...
### Ruby for Rails:关键技术与实践 #### 一、引言 《Ruby for Rails》是一本专为希望快速掌握Ruby及Ruby on Rails框架的开发者而编写的书籍。此书旨在帮助读者理解Ruby语言的核心概念以及如何将这些概念应用于...
5. **扩展功能**:插件可能还支持更复杂的过滤逻辑,如正则表达式匹配、忽略大小写、忽略特定上下文等。查看插件文档以获取更详细的使用指南和API。 6. **测试与调试**:在开发过程中,确保对过滤功能进行充分的...
在编程语言Ruby中,正则表达式是一个非常重要的概念,它是一种用于匹配字符串中字符组合的模式。在Ruby语言中,正则表达式不仅可以用于搜索和验证字符串,而且还可以执行复杂的文本处理,如查找、替换和分割字符串等...
Ruby中的正则表达式是强大的文本处理工具,用于在字符串中进行模式匹配、搜索和替换。它们由一系列特殊字符和语法组成,使得开发者能够高效地处理文本数据。 首先,正则表达式通常由两个斜杠 `/` 包围,例如 `/...
7. **源代码解析**:code-notes的实现可能涉及文件系统的操作(如读取目录和文件),正则表达式用于识别注释,以及可能的AST(抽象语法树)解析,以更准确地处理各种编程语言的注释结构。 8. **扩展性**:由于Node....
8. **正则表达式**:Ruby的Regexp类提供了强大的文本匹配和操作功能,支持多种正则表达式语法。 9. **块和迭代器**:Ruby中的块(采用do..end或{}语法)和迭代器(如each、map等)是处理集合数据的重要工具。 10. ...
例如,在Ruby on Rails中,路由配置可以使用正则表达式来实现灵活的URL匹配。 4. **软件**:某些软件或应用也内建了对正则表达式的支持,如文本编辑器Sublime Text、VS Code,它们允许用户使用正则表达式进行查找和...
对于重复使用的验证规则或者正则表达式匹配的情况,创建自定义验证器可以提高代码的可读性和可维护性。例如: ```ruby # 差的方式 class Person validates :email, format: { with: /^([^@\s]+)@((?:[-a-z0-9]+\.)...
Ruby是一种高级的、面向对象的编程语言,由日本开发者松本行弘(Yukihiro "Matz" Matsumoto)在1995年...8. **Web开发框架**:Ruby on Rails是一个流行的服务器端Web应用框架,它遵循MVC(模型-视图-控制器)架构模式。
它深入探讨了Ruby语言的各种特性,包括基础语法、面向对象编程、模块和类、异常处理、文件系统操作、网络编程以及正则表达式等。书中的例子丰富,旨在帮助读者理解并掌握Ruby的精髓,从而能以"Ruby Way"的方式来思考...
正则表达式数据来自多个来源,它们是数据库的主要来源(版本27,约159个)。 其他任何国家的邮政编码都将有效地验证。 ValidatesZipcode支持Rails> = 4.2和Ruby> = 2.4。 这个gem也可以在Rails 3.2和Ruby 1.9.3中...
正则表达式在Ruby on Rails中用于模式匹配和文本处理,以下是一些常用的正则表达式符号: - `^`: 表示字符串的开始。 - `$`: 表示字符串的结束。 - `.`: 匹配任何单个字符。 - `(a|b)`: 表示a或b。 - `()`: 表示一个...