正则表达式

正则表达式

正则表达式 (Regular Expression)使用单个字符来描述、匹配一系列符合某个句法规则的字符串。

  • 英文简写为regex、regexp、RE
  • 表达式通常用来简索、替换那些符合某个模式的文本。
 

    元字符

  • 具有特殊含义可以匹配任何单个字符的字符
  • 正则表达式区分大小写
  • 常用的元字符
    • .       匹配除换行符以外的任意字符
    • \w    匹配字母或数字或下划线或汉字
    • \s     匹配任意空白字符
    • \d     匹配数字
    • \b     匹配单词的开始或者结束
    • ^      匹配字符的开始
    • $       匹配字符的结束

      字符转义

  • 如果想要匹配元字符就需要字符转义
  • 转义字符为  \

      重复

  • *            重复0次或更多次
  • +            重复一次或更多次
  • ?           重复0次或1次
  • {n}        重复n次
  • {n,}       重复n次到更多次
  • {n,m}    重复n到m次

      自定义

  • 自定义很简单只需要方括号列出它们就可以了
  • [0-9] 表示匹配数字
  • [a-z]表示匹配小写字母

      分枝条件

  • 分割字符为   |    表示或的意思
  • 注意有时候需要用()

      分组

  • 主要解决重复多个字符
  •  IP匹配需要用到
      反义
  •  元字符的一些字母大写表示的是反义字符
  • \W      匹配任意不是字母,数字,下划线,汉字的字符
  • \S       匹配不是空白字符的字符
  • \D       匹配任意非数字的字符
  • \B       匹配不是单词开头或结束的位置
  • [^x]    匹配除了x以外的任意字符
      反向引用
  •  使用小括号指定一个子表达式后,每个分组自动拥有一个文本
  • 从左到右,以分组的左括号为标志(0表示总个表达式) 
  • \1表示匹配第一个分组匹配的字符    
      零宽断言
  • 就是用表达式来匹配某些内容之前或者之后的东西      
  •          
  • \B       匹配不是单词开头或结束的位置
  • [^x]    匹配除了x以外的任意字符
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2013-11-17 01:24  旧收音机  阅读(191)  评论(0)    收藏  举报