iOS开发之正则表达式

一:什么是正则表达式

正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式。正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分。它可以迅速地用极简单的方式达到字符串的复杂控制。

二:正则表达式语法
  1. ' ^ ' : 表示一个字符串以什么开始,即前缀 hasPrefix:
    "^one" : 表示已"one"开始, "oneCat" "oneDog" "one123..."
    [^123] : 表示不希望[ ]中的任何字符串出现
  2. ' $ ' : 表示一个字符串以什么结束,即后缀 hasSuffix:
    "Apple$" : 表示以"Apple"结束, "6plusApple"
    综合使用:
    "^Apple$" : 表示前后都有 "Apple" 字符串
    "Apple" : 表示任何包含 "Apple" 的字符串

  1. ' * ' : 作用于前面一个字符,表示存在个数 ' >= 0 '
    "ab*" : "a" , "ab" , "abb" , "abbb..." ....
  2. ' + ' : 表示存在个数 ' >= 1 ', 至少存在一个
    "ab+" : "ab", "abb", "abbb..." ....
  3. ' ? ' : 存在或不存在 , 即 0 | 1
    "ab?" : "ab" ,"a"
    综合使用:
    "a?b+$": 以 "b.." 或 "ab..." 结尾的字符串

  1. " { , } " :表示一个重复的具体范围 ,[可以没有下限,不能没有上限]
    "ab{4}" : abbbb
    "ab{1,}" : <==> " ab+ "
    "ab{0,}" : <==> " ab* "
    "ab{0,1}" : <==> " ab? "
    "ab{3,5}" : 指有3-5个b
  2. " [ ] " :表示[ ] 内众多字符中的任意一个
    "[ab]" : <==> " a|b "
    "[a-d]" : a-d任意一个 [abcd]
    "^[a-zA-Z_]" : 表示必须以字符串或者下划线开头
  3. " | " :表示或
    "a|b" : a或者b存在
    "(a|bcd)ef" : aef 或 bcdef
  4. " . " : 匹配除 \r \n以外的任何单个字符
    "a.[0-9]" : a后面跟着一个任意字符和一个数字
    "^.{5}$" : 任意一个长度为5的字符串
  5. " \num " : num是一个正整数,表示" \num "之前的字符出现相同的个数
    "(.)\1" : 表示两个连续的相同的字符
    "10{1,2}" : 表示数字1后面跟着1或者2个0 ("10","100")。

  • 常用的:iOS书写正则表达式,遇到转义字符,多加一个" \ ","^\d+$"
    "\d" : ==> [0-9]
    "\D" : ==> [^0-9]
    "\w" : ==> [a-zA-Z_]
    "\W" : ==> [^a-zA-Z_]

你可能感兴趣的:(iOS开发之正则表达式)