正则表达式技能总结手册(下)

"正则表达式是用于指定文本搜索模式的字符序列,常见于字符串查找和替换操作以及输入验证。起源于斯蒂芬·科尔·克林的理论,它在Unix工具中广泛应用。正则表达式包括‘+’、‘*’、‘?’等符号,分别表示匹配一或多个、零个或多个、零个或一个字符。还可以指定匹配次数{n, m}
摘要由CSDN通过智能技术生成

正则表达式(缩写为regex或regexp;有时称为理性表达式)是指定文本中搜索模式的字符序列。

通常这种模式被字符串搜索算法用于对字符串进行“查找”或“查找并替换”操作,或用于输入验证。

正则表达式技术在理论计算机科学和形式语言理论中得到发展。

正则表达式的概念始于20世纪50年代,当时美国数学家斯蒂芬·科尔·克林(Stephen Cole Kleene)将正则语言的概念形式化。它们在Unix文本处理工具中普遍使用。自20世纪80年代以来,编写正则表达式的不同语法已经存在,一个是POSIX标准,另一个被广泛使用的是Perl语法。

正则表达式用于搜索引擎、字处理器和文本编辑器的搜索和替换对话框、文本处理工具(如sed和AWK)以及词汇分析。

匹配一个或多个字符

使用:+

区别“+”加号位置

  1. “+”在中括号外面,例如[0-9]+
  2. “+”在中括号里面,例如[0-9+],表示匹配数字和加号

匹配0个或多个字符

使用:*

匹配0个或1个字符

使用:?

匹配n次

{n}

至少匹配n次

{n,}

至少匹配n到m次

{n,m}

正则表达式——贪婪&非贪婪

贪婪:

*
+
{n,}

非贪婪:

*?
+?
{n,}?

例如:
(贪婪)

(非贪婪)

边界

单词边界

使用:\b
不实用单词边界,在找某个单词时,会同时匹配其他单词的一部分

使用单词边界\b后

字符定位符

使用:^ $
例如,+为1个或多个,匹配开头为至少一个数字的一部分

捕获分组

使用:圆括号 ()

“或”使用:

回溯引用

使用:\1

前后查找字符

向前查找:?=

向后查找:?<=

?! 查找后面不是 XX 的 字符

?<! 查找前面不是 XX 的 字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

lmn_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值