正则表达式

正则表达式

  • 1.普通字符
  • 2.特殊字符
  • 3.限定符

正则表达式都是由正则表达式语言创建的,通常被镶嵌在其他语言内部作为字符串文本解析工具来使用。正则表达式是由普通字符及特殊字符组成的文字模式。
例如:
(1) wo+niu,可以匹配wooniu、woooniu、wooooniu等," + “代表前面的字符必须至少出现一次。
(2) wo * niu,可以匹配wniu、woniu、wooniu等,” * “代表前面的字符可以不出现,也可以出现一次或多次。
(3) wo?niu,可以匹配wniu或者woniu,” ?"代表前面的字符最多只出现一次。

1.普通字符

普通字符包括没有显示指定为元字符的所有可打印和不可打印字符。包括所有大写和小写字母、所有数字、所有标点符号和其他符号。

字符 描述
\cx 匹配由x指明的控制字符。例如,\cM匹配一个Ctrl+M或回车符。x的值必须为A~ Z或a~ z之一;否则,将c视为一个原义的"c"字符。
\f 匹配一个换页符
\n 匹配一个换行符
\r 匹配一个回车符
\S 匹配任何非空白字符
\s 匹配任何空白字符
\t 匹配一个制表符
\v 匹配一个垂直制制表符

2.特殊字符

所谓特殊字符就是一些含特殊意义的字符。

字符 描述
$ 匹配输入字符串的结尾位置。要匹配"$"字符本身,应使用\$
() 匹配一个子表达式的开始和结束位置。要匹配"()"字符本身,应使用\(和\)
* 匹配前面的子表达式零次或多次。要匹配"*"字符本身,应使用\ *
+ 匹配前面的子表达式一次或多次。要匹配"+"字符本身,应使用\ +
. 匹配除换行符\n之外的任何单字符。要匹配"."字符本身,应使用\ .
[ 标记一个中括号表达式。要匹配"["字符本身,应使用\ [
? 匹配前面的子表达式零次或一次。要匹配"?"字符本身,应使用\ \?
\ 将下一个字符标记为特殊字符、原义字符、向后引用或者八进制字符。例如,n匹配字符n,\n匹配换行符,\匹配,而(匹配(
^ 匹配输入字符串的开始位置。要匹配"^"字符本身,应使用\ ^
{ 标记限定符表达式的开始。要匹配"{"字符本身,应使用\ {
| 指明两项之间的一个选择。要匹配"|"字符本身,应使用\ \

3.限定符

用来指定正则表达式的一个给定组件必须出现多少次才能满足匹配。限定符有*、+、?、{n}、{n,}、{n,m}共六种。

字符 描述
* 匹配前面的子表达式零次或多次。例如,zo*能匹配z以及zoo,*等价于{0,}
+ 匹配前面的子表达式一次或多次。例如,zo+能匹配zo以及zoo,但不能匹配z。+等价于{1,}
? 匹配前面的子表达式零次或一次。例如,zo?能匹配z以及zo,?等价于{0,1}
{n} n是一个非负整数,表示匹配确定的n次。
{n,} n是一个非负整数,表示至少匹配的n次。
{n,m} n和m是均为非负整数,其中 n ≤ m n \le m nm表示最少匹配n次且最多匹配m次。注意,逗号和两个数之间不能用空格

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