正则表达(Regexp)类

更新:2017/06/18 改变[]集合的表格大小 80% ---》 100%

 定义 正则表达: 和字符串匹配的模式(pattern)的写法
正则表达(Regexp)类: 保存正则表达的类
 生成
 直接生成  /.../
里面带/时,%r(...)
 标准生成  Regexp.new("...")
   
   
   
   
   
   
   
   

 匹配  =~, !~
 a = /.../
 a =~ "this is a target to matching"
 注: 默认不匹配改行符
 匹配模式
 pattern
 /ABC/  只有英文与数字为检查是否存在
 /^ABC$/  匹配完全一样的
 这里是"ABC"
/[^0-9]../   首字母非数字的三字符
 /^...$/  和三字母的行匹配
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

 元字符
 matacharacter
 ^  行开头处开始匹配
 $  行结尾处开始匹配
 \A  字符串开头 
 \Z  字符串结尾
 忽略最后的\n(一个)
 \z不忽略
 []

 指定范围, 可用 -
 [AB], [ABC], [01A]
 [A-Z]
 [A-Za-z]
 [0-9]
 想指定"-"必须放开头或者结尾
 [-...]
 [...-]
 [^...]  
 除去指定的
 
 
 
 .  任意的一个
 \s  空格,指标(tab,\t),换行
 \d  数字
 \w  英语和数字
 \[
 \^
...
 把后面的当做字符
 用于非字母的元字符
 相当于[^]等 
 重复

 *  0次以上
 *? 最短 
 +  1次以上
 +? 最短
 ?  0或1次
 {n}  n次
 {n, m}  n~m次

可以带括号指定多项重复

 (ABC|CBA)  或逻辑
 ()  获取得到的字符串
 只是为了加限制的话(?:)
   
   
   
   
   
   
   

 方法

 所有元字符变引用  Regexp.quote("^^^^^")
 Regexp.escape("^^^^^")
 置换
字符串方法
 str.sub(/.../, "....")
 str.sub!(/.../, "....")
 str.gsub(/.../, "....")
 str.gsub!(/.../, "....")
 sub()置换找到的第一个,
 gsub()置换全部
 读取  str.scan(/.(.)./) do |temp|
   ...
 end
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 可选设定

 /.../i    
Regexp::IGNORECASE
 不区别大小
 /.../x  
 Regexp::EXTENDED
 无视空白和#
 /.../m 
 Regexp::MULTILINE
 匹配\n
 /.../o   
 
   
 获取匹配部分  记法: mix

 $1, $2,...  /(...)(...)(...)/对应获取
 $'  匹配到位置前的部分
 $&  所有匹配部分
 /(ABC).*(ABC)/
 ABC........ABC
 &'  匹配后部分
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

Ruby Regexp类的更多相关文章

  1. js正则表达式replace里有变量的解决方法用到RegExp类

    一直比较害怕使用正则表达式,貌似很深奥很复杂的样子,所以在用js操作字符串的时候,我最多使用的是replace.split.substring.indexOf等函数,这些函数有时候需要多次叠加使用,但 ...

  2. 雷林鹏分享:Ruby Dir 类和方法

    Ruby Dir 类和方法 Dir 是一个表示用于给出操作系统中目录中的文件名的目录流.Dir 类也拥有与目录相关的操作,比如通配符文件名匹配.改变工作目录等. 类方法 序号方法 & 描述 1 ...

  3. 雷林鹏分享:Ruby File 类和方法

    Ruby File 类和方法 File 表示一个连接到普通文件的 stdio 对象.open 为普通文件返回该类的一个实例. 类方法 序号方法 & 描述 1File::atime( path) ...

  4. Ruby Regexp

    创建正则表达式对象 #以大写字母开始后面紧跟N个数字,方式一 reg = /[A-Z]\d+/ #方式二 reg = Regexp.new("[A-Z]\d+") reg = Re ...

  5. Ruby on Rails Tutorial 第四章 Rails背后的Ruby 之 类

    Ruby和其他面向对象的语言一样,使用类来组织方法,然后实例化类,创建对象.1.构造方法使用双引号是字符串的字面构造方法,也可以使用“具名构造方法”,即在类名上调用new方法 >> s=& ...

  6. objective-c中类似ruby枚举类的实例方法

    虽然obj-c的语法格式略显繁琐,但它和ruby都从某些方面继承了smalltalk的某些动态的东西.这些东西是 C和C++之类的静态语言所不曾有的. 比如ruby中可以将一个类或对象的所有方法枚举出 ...

  7. RegExp类型和text()方法

    ECMAScript通过RegExp类型来支持正则表达式 RegExp 实例方法:text() 它接受一个字符串参数,在模式与该参数匹配的情况下返回true,否则返回false,通常用在if语句中 / ...

  8. RUBY的类封装,继承,多态简单演示

    class Person def initialize(name,age=18) @name=name @age=age @motherland="China" end def t ...

  9. ruby File类

    类方法 路径相关: File.basename(filename <, suffix>) -> string返回给定文件名 filename 的最后一部分.如果有 suffix 参数 ...

随机推荐

  1. msp430项目编程20

    msp430中项目---超声波测距系统 1.定时器工作原理 2.电路原理说明 3.代码(显示部分) 4.代码(功能实现) 5.项目总结 msp430项目编程 msp430入门学习

  2. IE下IFrame引用跨域站点页面时,Session失效问题解决

    问题场景:在一个应用(集团门户)的某个page中, 通过IFrame的方式嵌入另一个应用(集团实时监管系统)的某个页面. 当两个应用的domain 不一样时, 在被嵌入的页面中Session失效.(s ...

  3. P1194 买礼物 洛谷

    https://www.luogu.org/problem/show?pid=1194 题目描述 又到了一年一度的明明生日了,明明想要买B样东西,巧的是,这B样东西价格都是A元. 但是,商店老板说最近 ...

  4. centOS 安装mysql5.6

    删除原先的mysql5.1#数据库服务器的安装 , 请自行在mysql官方找最新的rpm rpm -Uvh http://dev.mysql.com/get/mysql-community-relea ...

  5. sql 2005 安装

    http://blog.csdn.net/wochuailimin/article/details/6120462 http://www.cnblogs.com/huangcong/archive/2 ...

  6. ArcEngine中IFeatureClass.Search(filter, Recycling)方法中Recycling参数的理解

    转自 ArcEngine中IFeatureClass.Search(filter, Recycling)方法中Recycling参数的理解   ArcGIS Engine中总调用IFeatureCla ...

  7. Android实战简易教程-第三十九枪(第三方短信验证平台Mob和验证码自己主动填入功能结合实例)

    用户注冊或者找回password时通常会用到短信验证功能.这里我们使用第三方的短信平台进行验证实例. 我们用到第三方短信验证平台是Mob,地址为:http://mob.com/ 一.注冊用户.获取SD ...

  8. 【独立开发人员er Cocos2d-x实战 008】BMFont生成位图字体工具和Cocos2dx使用载入fnt文件

    1.首先我们须要下载而且安装BMFont工具,下载地址例如以下:http://download.csdn.net/detail/chenqiai0/8899353(里面还有具体的使用文档,假设使用中有 ...

  9. Java注释中的@deprecated与源代码中的@Deprecated

    用 @Deprecated注释的程序元素,不鼓励程序员使用这样的元素,通常是因为它很危险或存在更好的选择.在使用不被赞成的程序元素或在不被赞成的代码中执行重写时,编译器会发出警告. 其次,请注意标题, ...

  10. APache POI emaple ()

    Business Plan The BusinessPlan application creates a sample business plan with three phases, weekly ...