正则表达式


正则表达式都是由正则表达式语言创建的,通常被镶嵌在其他语言内部作为字符串文本解析工具来使用。正则表达式是由普通字符及特殊字符组成的文字模式。
例如:
(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次。注意,逗号和两个数之间不能用空格
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿宇阿星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值