正则表达式

正则表达式:又称规则表达式,英文名为Regular Expression,
在代码中常简写为regex、regexp或RE
正则表达式通常被用来检索、替换那些符合某个模式规则的文本
正则表达式是用于进行文本匹配的工具

在这里插入图片描述

上面文本框用于匹配:YY

下面的文本框用于输入内容:KKEYY,UUYY,YYU,YY

正则表达式:YY

若要精确的匹配出hi,正则表达式:\bYY\b

\b是正则表达式规定的一个特殊代码,我们把它叫做元字符,

单词的开头或结尾,也就是单词的分界处,它只匹配一个位置

元字符:

. 匹配除换行符以外的任意字符

\w 匹配数字或字母或下划线或汉字

\s 匹配任意的空白符

\d 匹配数字

\b 匹配单词的开始或结束

^ 匹配字符串的开始

$ 匹配字符串的结束

字符转义:

‘’:如果你想查找元字符本身的话,

比如你查找\b,或者*,就出现了问题:你没法指定它们,

因为它们会被解释成其它的意思。这时你就必须使用\来

取消这些字符的特殊意义。因此,你应该使用.和*。

当然,要查找\本身,你也得用\b

常用的限定符(重复):

*重复零次或更多次+ 重复一次或更多次

? 重复零次或一次

{n} 重复n次

{n,}重复n次或更多次

{n,m} 重复n到m次

反义:

代码/语法 说明

\W 匹配任意不是字母,数字,下划线,汉字的字符

\S 匹配任意不是空白符的字符

\D 匹配任意非数字的字符

\B 匹配不是单词开头或结束的位置

[^x] 匹配除了x以外的任意字符

[^aeiou]匹配除了aeiou这几个字母以外的任意字符

分组语法

(?=exp 匹配exp前面的位置

(?<=exp)匹配exp后面的位置

(?!exp) 匹配后面跟的不是exp的位置

(?<!exp)匹配前面不是exp的位置

贪婪与懒惰

贪婪:当正则表达式中包含能接受重复的限定符时,通常的行为是

(在使整个表达式能得到匹配的前提下)匹配尽可能多的字符这被称为贪婪匹配

懒惰:有时,我们更需要懒惰匹配,也就是匹配尽可能少的字符。

如果将前面给出的限定符转化为懒惰匹配模式,只要在它后面加上一个问号?

懒惰限定符

*? 重复任意次,但尽可能少重复

+? 重复1次或更多次,但尽可能少重复

?? 重复0次或1次,但尽可能少重复

{n,m}? 重复n到m次,但尽可能少重复

{n,}? 重复n次以上,但尽可能少重复

替换:

正则表达式里的替换指的是有几种规则,如果满足其中任意一种规则都应该当成匹配,具体方法是用|把不同的规则分隔开

使用替换时,顺序是很重要的

它是由左到右来进行匹配的

匹配11位数字和7位数字
在这里插入图片描述

它会对第一条规则先进行匹配,第二条规则就匹配不到

要先对11位数的进行匹配,然后再到7位数的进行匹配才是正确的

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值