正则表达式

正则表达式

1 正则表达式

正则表达式是用来描述某种规则的字符串的表达式 ,脱离具体语言的一些规则 ,但是现在大多数设计语言都实现了或者支持正则表达式 。比如:C语言 、C++、python 、java…但是每种语言实现正则表达式的规则略有不同 。

2 正则表达式的规则

正则表达式是描述某种规则字符串的表达式 ,如:
十进制数字字符串 [0-9]+

正则表达式也叫做 “匹配模式”,pattern, 他是由一组特定的字符串组成, 通常用于匹配和替换文本 。

在正则表达式中的字符分为两种:
(1)普通字符

即只代表自己本身的字符
(2)元字符

即有特定含义的字符(不代表自己)

3 正则表达式中的元字符

3.1 匹配任意单个字符

3.1.1. 匹配任意单个字符
3.1.2[] 字符组

[] 字符组。虽然由多个字符构成 ,但是它仍然只匹配单个字符。 他能匹配哪些单个字符呢?全部都在[]内列出来了,[]仅仅能够匹配一个括号内列出出来的字符。

如:
[0123456789abcdefABCDEF]

3.1.3 -[]内连接ASCII连续的字符

-[]内连接ASCII连续的字符。[]字符组内也有一个元字符-

如:

[0-9a-fA-F]
如:请你用正则表达式描述一个可以作为C语言标识符的字符
[a-zA-Z0-9_]

3.1.4 [^] 排除字符组

[^] 排除字符组。 匹配单个字符, 匹配除了[]内列举出来的字符。
如:
[^0-9] 除了0到9以外的其他任意单个字符

3.1.5 \d等字符

\d digtial
匹配单个十进制数字(0-9)字符
\d <==> [0-9]

\D 匹配单个非十进制数字字符
\D <==> [^0-9]

\w word
匹配字母 数字 _
\w <==> [a-zA-Z0-9_]

\W 匹配单个非 字母 数字 _字符
\W <==> [^a-zA-Z0-9_]

\s 匹配空白字符
\s <==> [\f\n\t\r\v]

\S 匹配非空白字符
\S <==> [^\f\n\t\r\v]

3.2匹配多个字符

3.2.1 +

+匹配一个或者多个先前字符**(模式)**
如:
09+ 即匹配09或者099或者0999
[0-9]+ 即匹配[0-9]或者[0-9][0-9]或者[0-9][0-9][0-9]

3.2.2 *

*匹配0个或者多个先前字符**(模式)**

如:

09* 即匹配0或者09或者099或者0999

[0-9]*即匹配空字符串或者[0-9]或者[0-9][0-9]

3.2.3

匹配0个或者1个先前字符**(模式)**

如:
09?0或者09
[0-9]? 或者[0-9]

3.2.4匹配固定个

{数字} 匹配固定数字的字符(模式)
如:
09{3}0999
[0-9]{3}[0-9][0-9][0-9]

3.2.5匹配最少个最多个

{最小数目,最大数目}
匹配最少“最小数目”个, 最多“最大数目”个先前字符**(模式)**。
如:
09{1,3}09或者099或者0999

3.2.6匹配最少个

{最小数目,}
匹配最少“最小数目”个 上不封顶个先前字符(模式)
如:
09{1,}09或者099或者0999

3.3 ()\(|)

() 作为一个整体(模式)
如:
(09){1,3}09或者0909或者090909

(|) 二选一
如:
(abc | 123){2}即abcabc 或者123123或者abc123或者123abc

\转义字符
\ + 元字符 表示元字符本身的那个字符
==>
\* 代表一个普通的*
\\ 代表一个普通的\

如:用正则表达式描述一个 <(2^32)的十六进制的整数
//0x0 - 0xffffffff or 0X0 - 0XFFFFFFFF
0[xX][0-9a-fA-F]{1,8}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

QJ敬

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

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

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

打赏作者

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

抵扣说明:

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

余额充值