原文鏈接:
http://www.weekface.info/2010/04/02/ruby-regexp-examples
#1.用戶名注冊
/^[a-z0-9_-]{3,16}$/
#以字母開頭,包含字母,數字,_,-的3-16個字符
#2.用戶密碼
/^[a-z0-9_-]{6,18}$/
#同上
#3.十六進制數
/^#?([a-f0-9]{6}|[a-f0-9]{3})$/
#以#开头或者不以#开头, 后面跟 6个字符(a-f或者0-9) 或者 3个字符(a-f或者0-9)
#4.匹配一個Slug(啥叫Slug?看看上面地址栏里的那一陀)
/^[a-z0-9-]+$/
#多個字母(a-z),數字(0-9),和-組成的字符
#5.匹配Email地址,此乃神器也
/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
#6.匹配Url
/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/
#7.匹配IP地址
num = /\d|[01]?\d\d|2[0-4]\d|25[0-5]/
exp = /^(#{num}\.){3}#{num}$/
#num是每个数字串的匹配模式, exp就是最终的RegExp了,下面是演示:
irb(main):001:0> num = /\d|[01]?\d\d|2[0-4]\d|25[0-5]/
=> /\d|[01]?\d\d|2[0-4]\d|25[0-5]/
irb(main):002:0> exp = /^(#{num}\.){3}#{num}$/
=> /^((?-mix:\d|[01]?\d\d|2[0-4]\d|25[0-5])\.){3}(?-mix:\d|[01]?\d\d|2[0-4]\d|25[0-5])$/
irb(main):003:0> exp.match("192.168.1.22")
=> #<MatchData "192.168.1.22" 1:"1.">
#8.匹配时间/日期类型(yyyy.mm.dd hh:mm:ss)
yyyy = /[1-9]\d\d\d/
mm = /0?[1-9]|1[12]/
dd = /0?[1-9]|[12]\d|3[01]/
hh = /[01]?[1-9]|2[0-4]/
MM = /[0-5]\d/
ss = /[0-5]\d/
date_time = /^(#{yyyy}\.#{mm}\.#{dd}) (#{hh}:#{MM}:#{ss})$/
date_time =~ '2008.8.27 22:12:10' # 0
date_time =~ '2008.8.27 22:12:60' # nil
#9. 解决一个问题, 给了一个ip地址:192.168.1.1,想要转为Array: [192,168,1,1]
irb(main):001:0> "192.168.1.1".scan(/(\d+)\.?/)
=> [["192"], ["168"], ["1"], ["1"]]
irb(main):002:0> "192.168.1.1".scan(/(\d+)\.?/).flatten
=> ["192", "168", "1", "1"]
irb(main):003:0> "192.168.1.1".scan(/(\d+)\.?/).flatten.map{|n| n.to_i }
=> [192, 168, 1, 1]
irb(main):001:0> "192.168.1.1".split(".").map{|x| x.to_i}
=> [192, 168, 1, 1]
分享到:
相关推荐
标题中的“常用正则表达式包括最新手机...”可能意味着我们要讨论的正则表达式涉及到识别手机号码。在中国,手机号码通常由11位数字组成,例如13800138000。一个简单的正则表达式来匹配中国大陆的手机号码可以是`^\d...
完整版正则表达式应用一例.e.rar 完整版正则表达式应用一例.e.rar 完整版正则表达式应用一例.e.rar 完整版正则表达式应用一例.e.rar 完整版正则表达式应用一例.e.rar 完整版正则表达式应用一例.e.rar
例如,你可以用正则表达式验证电子邮件地址的格式,或者从一大段文本中找出所有的电话号码。 这款V2.0.0.1版本的正则表达式自动生成器提供了一些关键功能,包括: 1. **向导式界面**:对于不熟悉正则语法的用户,...
很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一些正则表达式整理了一下,包括校验数字、字符、一些特殊的需求等等。给自己留个...
掌握正则表达式需要时间和实践,可以从简单的模式开始,逐渐学习更复杂的构造。理解元字符、量词和分组是基础,然后可以通过在线测试工具(如Regex101、RegExr)进行实验,逐步提高对正则表达式的理解。 在实际应用...
3. 匹配空白行:`ns*r` - 此正则表达式匹配包含任意数量空格、制表符或其他空白字符的行。`n`匹配换行符,`s`匹配任何空白字符,`*`表示前面的元素可以出现零次或多次,`r`在某些环境(如Python)中代表换行符。 4....
根据提供的文件信息,我们可以整理出一系列与正则表达式相关的...以上内容概括了从文件中提取出来的正则表达式知识点,这些知识点覆盖了正则表达式的多个应用场景,对于从事软件开发、数据分析等领域的人来说非常实用。
在“正则表达式工具和常用表达式详解.zip”压缩包中,你将找到关于正则表达式的全面指南,无论你是初学者还是有经验的开发者,都能从中受益。这个资料可能包括了以下内容: 1. **正则表达式基础**:介绍正则表达式...
RegexGen.js 是开发给 JavaScript 使用的正则表达式产生器,可以使用浅显易懂的语法来表现复杂的正则表达式。 RegexGen.js 基本上是为那些已经了解正则表达式引擎运作原理,但是不常使用正则表达式的人而开发的。...
正则表达式辅助工具 JGsoft.RegexBuddy.v3.5.0 破解版。
综上所述,《精通正则表达式(第三版)》不仅涵盖了正则表达式的理论知识,还提供了大量的实践指导,对于希望深入了解并熟练掌握正则表达式的开发者来说,是一本非常有价值的参考书籍。无论是对于初学者还是有一定...
这里用C#实现了正则表达式相关功能,并记录了所有的正则表达式的相关符号,是一个不可多得的正则表达式生成工具,这个工具适用3种场合: 1.对于初学正则表达式的朋友,这个工具适合你 2.需要C#正则表达式示例代码的...
邮箱,手机号,日期,通行证,等等各种正则表达式.txt各种正则表达式.txt各种正则表达式.txt各种正则表达式.txt各种正则表达式.txt各种正则表达式.txt各种正则表达式.txt各种正则表达式.txt各种正则表达式.txt
本压缩包"常用正则表达式.rar"提供了一些常见的正则表达式示例,主要包括校验数字、字符以及满足特殊需求的表达式。 1. **校验数字的表达式** - 验证整数:`^\d+$`,这将匹配任何由一个或多个数字组成的字符串。 ...
Boost.Regex.C++正则表达式快速入门[整理].pdf
常用正则表达式-常用正则表达式-常用正则表达式 常用正则表达式-常用正则表达式-常用正则表达式
完整版正则表达式应用一例1.e.rar 完整版正则表达式应用一例1.e.rar 完整版正则表达式应用一例1.e.rar 完整版正则表达式应用一例1.e.rar 完整版正则表达式应用一例1.e.rar 完整版正则表达式应用一例1.e.rar
在Java中,正则表达式主要通过`java.util.regex`包来实现,提供了Pattern和Matcher两个核心类。 **1. Pattern类** Pattern类是Java正则表达式的起点,它将一个正则表达式编译成一个模式对象。这个编译过程可以优化...
精通正则表达式第三版 搜集于网络 前言..........I 第1章:正则表达式入门.... 1 解决实际问题... 2 作为编程语言的正则表达式... 4 以文件名做类比... 4 以语言做类比... 5 正则表达式的知识框架... 6 对于...