正则表达式学习笔记

"这篇博客详细介绍了正则表达式的各种元字符和用法,包括^、$、[ ]、w、d等,以及量词*、+、?的含义,并提供了匹配开始、结束位置、选择、分组等高级技巧。通过实例解析,帮助读者深入理解正则表达式的匹配规则和应用场景。"
摘要由CSDN通过智能技术生成

开始正式学习正则表达式

^ – 匹配输入字符串的开始位置
[0-9] – 匹配单个数字
[0-9]+ – 匹配多个数字
abc$ – 匹配abc并且以abc结尾,$表示字符串的结束位置

^[a-z0-9_-]{3,15}$

从^处开始,匹配字母数字下划线,字符长度为3到15,在$处结束
abc+d – abcd,abccd,abcccd等等,+表示前面的字符必须至少出现一次
abc*d – abd,abcd,abccd等等,表示前面的字符可以不出现,可以出现一次或多次
abc?d – abd或者abcd。?表示前面的字符最多只能出现一次,即前面的字符出现0次或者1次
[…] – 匹配[]中的所有字符
[^…] – 匹配除了[]中的所有字符
[A-Z] – 匹配所有大写字母,小写数字类似
. – 匹配除了\n,\r之外的所有字符,等价于[^\n\r]
[\s\S] – 匹配所有,\s表示匹配所有空白符,\S匹配所有非空白符
\w – 匹配字母、数字和下划线,等价于[A-za-z0-9]
\n – 匹配一个换行符
\r – 匹配一个回车符
\t – 匹配一个制表符
$ – 匹配输入字符串的结尾位置
() – 标记子表达式的开始位置和结束位置,要匹配这些字符需要使用(和)
* – 匹配前面的子表达式零次或者多次,要匹配
则使用\*
+ – 匹配前面的子表达式一次或多次
[ – 标记一个中括号表达式的开始
? – 匹配前面的字符零次或一次
\ – 表明下一个特殊字符需要匹配,比如\?表示?是需要匹配的
{ – 标记限定符表达式的开始
| – 表明这是两项之间的选择
{num} – 匹配固定的num次
{num,} – 至少匹配num次
{n,m} – 最少匹配n次最多匹配m次
<.*> – 匹配从< 到> 之间的所有内容
exp1(?=exp2):查找 exp2 前面的 exp1
(?<=exp2)exp1:查找 exp2 后面的 exp1
exp1(?!exp2):查找后面不是 exp2 的 exp1
(?<!exp2)exp1:查找前面不是 exp2 的 exp1
标记不写在正则表达式里,标记位于表达式之外,格式如下:/pattern/flags
igonre – 不区分大小写,在匹配的过程中忽略大小写,即在匹配的时候A和a没有任何区别
global – 全局匹配,查找所有匹配项
m – 多行匹配
s – 加上s之后.能够匹配换行符\n
x|y – 匹配 x 或 y。例如,‘z|food’ 能匹配 “z” 或 “food”。’(z|f)ood’ 则匹配 “zood” 或 “food”。
\d – 匹配一个数字字符。等价于 [0-9]。
\D – 匹配一个非数字字符。等价于 [^0-9]。
[[:alpha:]] 任何字母
[[:digit:]] 任何数字
[[:alnum:]] 任何字母和数字
[[:space:]] 任何空白字符
[[:upper:]] 任何大写字母
[[:lower:]] 任何小写字母
[[:punct:]] 任何标点符号
[[:xdigit:]] 任何16进制的数字,相当于[0-9a-fA-F]
^[a-zA-Z_]$所有的字母和下划线
^[[:alpha:]]{3}$所有的3个字母的单词
^a$ 字母a
^a{4}$ aaaa
^a{2,4}$ aa,aaa或aaaa
^a{1,3}$ a,aa或aaa
^a{2,}$ 包含多于两个a的字符串
^a{2,} 如:aardvark和aaab,但apple不行
a{2,} 如:baad和aaa,但Nantucket不行
\t{2} 两个制表符
.{2} 所有的两个字符

信息来源 - 菜鸟教程
侵删

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值