正则表达式

一、元字符

行的起始与结束
  1. ^ 代表一行的开始
  2. $ 代表一行的结束
  3. . 用来匹配任意字符
多选结构
  1. | 或
可选项元素
  1. ? 表示之前紧邻的元素重复0或者1次
重复出现
  1. +表示之前紧邻的元素出现一次或多次 >=1
  2. *表示之前紧邻的元素出现任意多次,或者不出现 >=0
区间
  1. {min,max} 表示之前紧邻的元素出现min到max次

二、字符组

匹配若干字符之一
  1. [……] 匹配其中若干字符之一   [1-9]匹配1到9中任意一个字符
    注意:[0-9A-Z_!.?]中只有‘-’是元字符,且如果[]中要匹配-字符,应放在字符组的开头,以保证他是一个普通字符.
排除性字符组
  1. [^……] 匹配任何未列出的字符(而不是不要匹配列出的字符)
    字符组开头的^表示排除
    例如:q[^u] 表达式就不能匹配 iraq字符串。(表达式要求q之后紧跟一个u以外的字符)
    注意:一个字符组,即使是排除性字符组,也需要匹配一个字符
单词分界符
  1. < 匹配一个单词的开始
    >匹配一个单词的结束
    \b 单词分界处
  1. () 能“记住”包含的子表达式匹配的文本
    \1 \2 匹配之前()“记住”的文本
    (?:....) 用来分组文本,但是并不捕获。

  2. 可选项元素

符号 次数下线 次数上限 含义
1 出现0或者1次
* >=0
+ 1 >=1

区间
{min,max} 表示使用元字符序列来自定义重现次数的区间

  1. 转义符号
    \ 为转义符

  2. 字符与反义

字符串 含义
\t 制表符
\n 换行符
\r 回车符
\s 任何“空白”字符
\S 除\s外的任何字符
\w [a-zA-Z0-9]
\W 除\w之外的任何字符,也就是[^a-zA-Z0-9]
\d [0-9],即数字
\D 除\d以外的任何字符,即[^0-9]
  1. 零宽断言
    (?=exp) 断言自身出现的位置后面能匹配表达式exp
    (?<=exp) 断言自身出现的位置的前面能匹配的表达式exp

9.负向零宽断言
(?!exp) 断言此位置的后面不能匹配表达式exp
(?

你可能感兴趣的:(正则表达式)