正则表达式 Regular Expressions

正则表达式的作用:用来匹配字符串
类型:Regexp的对象
a=/\s/
puts a. class
输出:Regexp
创建正则表达式:
1.可以通过调用构造函数来创建正则表达式:
a=Regexp. new( '^\s*[a-z] ')  -> ^\s*[a-z]  #用构造函数注意' pattern'
2.可以使用字面量形式/ pattern/和%r{ pattern}来创建
b=^\s*[a-z]
  c=%r{^\s*[a-z]}
================
有了正则表达式对象,可以使用Regexp#match(string)或匹配操作符=~(肯定匹配)和!=(否定匹配)对字符串进行匹配     匹配操作符两边至少有一个操作数必须为正则表达式
例:
        name= "Fats Waller"

        name=~/a/                              ->1

        name=~/z/                              ->nil

       /a/      =~name                          ->1
#匹配操作符返回匹配发生的 字符位置
========
$&得到与模式匹配的那部分字符串,$`得到匹配之前的那部分字符串,而$'得到匹配之后的那部分字符串。下面使用这些变量来编写show_regexp方法,说明具体的模式在何处发生匹配:
def show_regexp(a, re)
   if a=~re
     "#{$`}<<#{$&}>>#{$'}"
    
   else
     "no match"
  end
end

puts show_regexp('very interesting', /t/)
puts show_regexp('Fats Waller',/a/)
puts show_regexp('Fats Waller',/ll/)
puts show_regexp('Fats Waller',/z/)
结果:
very in<<t>>eresting
F<<a>>ts Waller
Fats Wa<<ll>>er
no match

你可能感兴趣的:(正则表达式,职场,休闲,regular,Expressions)