5句话,让你的正则表达式水平突飞猛进!(第1-2句)

龙逸凡
龙逸凡

创作者俱乐部成员

第一句

在正则表达式眼中,字符串由位置和字符组成。正则表达式就是去匹配字符或位置。

比如:字符“Excel”就是由字母E、x、c、e、l,以及他们之间的位置、前、尾等六个位置组成。

看不懂?

没关系,我们后文会围绕这一点进行详细阐述。

第二句

字符串的位置有字符串的开始、结尾、单词的边界、除了单词边界的其他位置。

匹配位置的元字符有^、$、\b、\B、\A、\Z、\z

下面我们一个个来介绍

1、字符串的开始,用^表示,字符串结尾,用$表示

示例:

将字符串的开头或结尾“替换”为@

注意,字符串的开头和结尾位置是聚宝盆,不管你是替换它,还是不替换它,它就在哪里,不增不减

按常理,我们将某字符替换后,它应该就不存在了。但开头和结尾这位置始终都在。我们用REGEXP将开头、结尾位置替换为@后,还可在外面套一层REGEXP再去替换,只要你有耐心,可以一直替换,无穷无尽。

原理后面再做解释。

2、表示字符串的开始结尾还可用比较冷门的\A\Z\z

\A 表示字符串的绝对开头,也就是我们通常理解的一个字符串的开始。

^ 一般情况也表示字符串的开头,但在多行模式下时,表示每行的开头。

也就是说,不是多行模式时,他们是一样的。

如下图:

但在多行模式下,\A表示字符串的绝对开头,而^表示每行的开头。

一般情况下,$、\Z、\z都表示字符串的结尾。

$ 表示字符串的末尾,或者在字符串末尾的换行符之前。在多行模式时,表示每一行的结尾

\z 表示字符串的绝对结尾。后面不会有任何字符(包括换行符)

\Z 匹配字符串的末尾,或者在字符串末尾的换行符之前

说明:

下图B1单元格的“Excel偷懒的技术”后面有两个换行符。

\b 表示单词边界。

单词是指由连续相邻的字母、数字或下划线组成的字符序列。

\B 是除单词边界之外的其他位置

如下图B4单元格的公式

=REGEXP(B1,"\b",2,"@")

将B1单元格单词的左右边界替换为@符号。

实战案例:

第二篇:

5句话,让你的正则表达式水平突飞猛进!(第3-5句)

重庆
浏览 256
5
7
分享
7 +1
3
5 +1
全部评论 3
 
喀秋莎
这知识贴真好。
· 浙江省
回复
 
亂雲飛渡
点赞收藏
· 广东省
回复
 
好又来
👍🏻
· 四川省
回复