澳门至尊网站-首页

您的位置:澳门至尊网站 > 程序编程 > 正则表明式查找

正则表明式查找

2019-11-08 06:53

1.怎么样是正则表明式

正则表达式,又称正规表示法、常规表示法(德文:Regular Expression,在代码中常简写为regex、regexp或RE卡塔 尔(阿拉伯语:قطر‎,计算机科学的三个定义。
正则表达式行使单个字符串来说述、相配大器晚成密密层层符合某个句法则则的字符串。
在无数文本编辑器里,正则表达式多如牛毛被用来寻觅、替换那个相符某个情势的文件。

2.正则表明式的字符组成

普通字符【a~z】、特殊字符(称为"元字符"卡塔 尔(阿拉伯语:قطر‎

3.支持

差点所有的次序设计语言都支持正则表达式,比方:OC,swift,java,c#,python,js等
在广大文书编辑器里,能够利用正则表达式举办检索,Xcode肖似支撑正则表明式!

4.使用

  • 匹配
    (pattern) 相称pattern并拿走那大器晚成相配,所拿到的相称能够从产生的Matches集结获得
  • 集合
    [xyz] 字符集合(x||y||z)
    [a-z] 字符范围a-z
    [a-zA-Z] 字符范围a-z A-Z
    [^xyz] 负值字符集结 (任何字符, 除了xyz)
    [^a-z] 负值字符范围
    [a-d][m-p] 并集(a到d 或 m到p)
  • 常用元字符
    . 相配除换行符以外的人身自由字符
    w 相配字母或数字或下划线或汉字 [a-zA-Z_0-9]
    s 相称任性的空白符(空格、TABt、回车r n
    d 相配数字 [0-9]
    ^a 相称字符串的启幕a字符
    a$ 相称字符串的了断a字符
    bw 匹配单词的早先或收尾w字符
  • 常用反义符
    W 相称猖狂不是字母,数字,下划线,汉字的字符[^w]
    S 相配任性不是空白符的字符 [^s]
    D 相称任性非数字的字符[^0-9]
    Ba 相称不是单词起首或收尾的岗位的a字符
    [^a] 相配除了a以外的率性字符
    [^aeiou] 匹配除了aeiou那多少个字母以外的即兴字符
  • 常用限定符
    w*oo 重复零次或更频仍
    w+oo 重复一遍或更频仍
    w?oo 重复零次或一遍
    w{n} w重复n次
    w{n,} w重复n次或更频繁
    w{n,m} w重复n到m次
  • 贪得无厌和懒惰
    *? 重复率性次,但尽大概少重复
    *+ 重复1次或更频仍,但尽恐怕少重复
    ?? 重复0次或1次,但尽恐怕少重复
    w{1,2}? 重复1到2次,但尽也许少重复
    ww{1,}? 重复1次以上,但尽只怕少重复

5.实例

 1 // 判断QQ号码(常规判断)
 2 
 3  fileprivate func checkIsQQNumber(str:String) ->Bool {
 4      // 1.判断是否以0开头
 5      if str.hasPrefix("0"){
 6          return false
 7      }
 8 
 9      // 2.判断是否是5~15位
10      if str.characters.count < 5 || str.characters.count > 15{
11          return false
12      }
13 
14      // 3.判断是否全部都是数字
15      for c in str.characters{
16          if c < "0" || c > "9"{
17              return false
18          }
19      }
20      return true
21  }
22 // 正则判断手机号码
23 
24  fileprivate func checkPhoneNumber(str:String)->Bool {
25      let pattern = "1[3578]\d{9}"
26 
27      let regex = try! NSRegularExpression(pattern: pattern, options: NSRegularExpression.Options(rawValue:0))
28      let res = regex.matches(in: str, options: NSRegularExpression.MatchingOptions(rawValue:0), range: NSMakeRange(0, str.characters.count))
29      if res.count > 0 {
30          return true
31      }
32      return false
33  }

 

 

本文由澳门至尊网站发布于程序编程,转载请注明出处:正则表明式查找

关键词: