Project1

标题: 秀秀脚本教程之-正则表达式 [打印本页]

作者: hide秀    时间: 2008-6-24 23:54
标题: 秀秀脚本教程之-正则表达式
ms这里的教程没有正则表达式
随便写了个匹配手机号码的范例来说明下吧

module ABC
def self.reg(string)
  # 转换为string
  if string.is_a?(Numeric)
    string = string.to_s
  end
  if string.size != 11
    p "请输入11位数字"
    return
  end  
  #开始匹配  regexp为规则
  regexp = /[1][35][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/
  if regexp =~ string
     p "匹配成功"
     return
  else
     p "匹配失败"
     return
  end   
end
end


/ / 之间的为正则表达式部分 可以认为是一个规则 看范例
/[1][35][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/
说明1: [1] 匹配1这个数字
       [35] 匹配数字3或者5
       [0-9]匹配0-9中 任意一个数字
好了知道了这些 这一串规则 可以匹配比如
135xxxxxxxx 或者 159xxxxxxxx
226xxxxxxxx 之类的就会出错了 哈哈 具体看规则

说明2: regexp =~ string
        =~ 这个就是匹配符号了
意思就是 字符串string匹配regexp 用if连接

  if regexp =~ string
     p "匹配成功"
     return
  else
     p "匹配失败"
     return
  end   

就是这样了

具体使用下这段脚本就知道了

使用方法:

ABC.reg(这里输入手机号码)

#-------------猫哥哥补充一个方法-------------------------------
regexp = /[1][35][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/
也可以写成这样:regexp = /[1][35][\d]{9}/
[\d]表示任意数字
{9}表示重复出现的次数 {/dy}
#----------------------------------------------------------------


作者: 禾西    时间: 2008-6-25 00:19
有是有...不過非常隱蔽{/hx}
作者: 雷欧纳德    时间: 2008-6-25 01:24
偶是进来向lz问好的{/dy}
作者: hide秀    时间: 2008-6-25 01:58
哈哈 今晚短片该截止了吧~呵呵 炸弹终于可以做点事情了 {/cy}
作者: 猫哥哥    时间: 2008-6-26 17:35
regexp = /[1][35][\d]{9}/

匹配规则改成这样会更有正则表达式的味道:)
作者: hide秀    时间: 2008-6-27 17:31
regexp = /[1][35][\d]{9}/

匹配规则改成这样会更有正则表达式的味道:)


赫赫是的 谢谢猫猫兄~ 已经补充了
作者: 禾西    时间: 2008-6-27 21:50
發布完畢,VIP+=1
作者: yangff    时间: 2008-6-27 22:22
喂喂,编辑!!
作者: 禾西    时间: 2008-6-27 22:23
沒有編輯能力了 = =




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1