`
viva_yang
  • 浏览: 34697 次
  • 性别: 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中的正则表达式

    正则表达式是一种特殊序列的字符,它通过使用有专门语法的模式来匹配或查找其他字符串或字符串集合。 语法 正则表达式从字面上看是一种介于斜杠之间或介于跟在 %r 后的任意分隔符之间的模式,如下所示: /pattern/...

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

    正则表达式是一个特殊的字符序列可以帮助匹配或者找到其他字符串或串套,使用的模式保持一个专门的语法。 正则表达式文本是一个模式之间的斜线之间或任意分隔符 %r 如下: 语法: 代码如下:/pattern/ /pattern/im ...

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

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

    ist的matlab代码-rails_lecture_seo_bot:在HTWdS进行Rails演讲的练习:分析给定的日志文件并检查Googl

    Rails演讲练习-朱利安·菲舍尔(Julian Fischer) 练习重点:Ruby基础知识 错误处理,正则表达式,文件和HTTP访问 为运动做准备 根据需要创建一些类和模块。 测试混入功能。 请仔细阅读Ruby文档()中的以下类。 您...

    Facebook-Clone:全栈-利用Rails,React,PostgresSQL,AWS S3的社交网络平台

    Connect是一个基于Rails框架的受Facebook启发的全栈Web应用程序,它使用PostgreSQL数据库和React来渲染前端组件,而Redux则用于状态管理。 功能与实现 新用户和登录 拥有帐户的用户可以轻松登录导航栏。您始终可以...

    funkymewmewFS

    mewTrest是一个视觉发现引擎,它使用户可以连接和共享受启发的图像...也可以保存其他用户开发板上的引脚使用带有正则表达式和安全BCrypt密码哈希的后端Rails验证构建的用户身份验证通过Rails ActiveStorage和Amazon We

    当第二主要是三轴刚体时,CR4BP中第一类的周期性轨道

    当第二坐标系为三轴刚体而第三坐标系为次等质量时,本文讨论了二维坐标系中的圆形约束四体问题(CR4BP)中周期轨道的存在(与之相比)其他原色)放置在圆形限制三体问题(CR3BP)的三角形释放点L4处。...

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

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

    event_bus:一个简单的 pubsub 事件总线

    使用名称或正则表达式模式订阅事件。 与 Rails 一起使用。 在没有 Rails 的情况下工作。 完全同步(使用 gem 使用 Sidekiq 进行异步操作)。安装安装宝石 gem install event_bus或者将它添加到您的 Gemfile 并运行...

    safety_mailer:将您的应用发送的电子邮件限制为仅批准的域或帐户

    safety_mailer 将您的应用程序发送的电子邮件限制为仅批准的域或帐户。 指定允许访问的一个域...在您的环境文件config/environments/development.rb配置它以及一些正则表达式。 config . action_mailer . delive

    knowsql:SQL 提示和技巧 - 演示和基准测试

    电子邮件验证正则表达式 复合(多类型索引 - Gist & GIN) 外键多态外键 第 2 章:外键 什么是关系数据库中的 FK 无效联想的危险 你创建父A 您在 A 下创建子 X 有人在你创建 X 时删除了 A 你转到子页面,它 500...

    阿尔法博客

    遵循Mashrur Hossain的“ Complete Ruby on Rails”课程,使用Heroku Resource进行生产部署用户-创建用户表和模型-添加验证*用户名必须存在且唯一,最少3个,最多25个*电子邮件地址必须存在且唯一,最大105个*电子...

    lite:lite是一个用ruby编写的web框架和orm

    这些单独的路由中的每一个都采用HTTP动词(获取,发布,放置或删除),正则表达式形式的路径,将实例化以处理该请求的控制器的名称以及在该控制器上调用的方法 Router . new . draw do get Regexp . new ( '^\/

    《Node.js包教不包会》.zip

    《Node.js 包教不包会》 -- by alsotang 在 CNode 混了那么久,解答了不少 Node... 对 web 开发初学者不友好,对 Windows 用户不友好,对 ruby on rails 开发者友好 内容笼统,课程重点随心所欲 标签:《Node

    Grape 是一个类似 REST 的 Ruby API 框架

    稳定发布项目资源企业用葡萄安装基本用法安装全部架子没有 Rails 的 ActiveRecord导轨 4导轨 5+与 Sinatra(或其他框架)一起使用导轨导轨 &lt; 5.2导轨 6.0模块重新安装安装配置版本控制小路标题接受版本头参数描述...

    wherex:使用 Regexp 作为 ActiveRecord 中任何查找器的值

    对 ActiveRecord 查找器的正则表达式支持。 安装 Wherex 是 ,这意味着我们将始终指示向后不兼容的更改与主要版本碰撞,因此您可以在Gemfile使用它: gem 'wherex' , '~&gt; 1.0' 仅适用于 Rails &gt;= 3.1 例子 # ...

    liveview-apps

    开源LiveView(Elixir / Phoenix)应用程序的示例在这里找到: ) ) )运行更新$ make update显示所有伞项目$ make umbrellas雨伞导航按名字受Rubular启发的Elixir正则表达式编辑器(2019-09-05 / 72次提交/ 0星) ...

    Script.NET脚本语言开发平台2.1.1版本

    刚刚发布的2.1.1版本新增了Ruby脚本的支持,可以支持Ruby脚本的开发、调试、生成可执行文件、控制台等功能,可以支持wxRuby、RubyTk等界面库,目前还不支持Rails的调试,后续版本会不断完善。 下载地址和详细介绍请...

Global site tag (gtag.js) - Google Analytics