Ruby Regexp类

正则表达(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
 &' 匹配后部分
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

 

转载于:https://www.cnblogs.com/lancgg/p/8281885.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值