练习题123-1:值得细细品味的字符拆分练习题【正则表达式】

龙逸凡
龙逸凡

创作者俱乐部成员

添加图片注释,不超过 140 字(可选)

练习题123:值得细细品味的字符拆分练习题【正则表达式】

用正则表达式函数写四个公式,将“偷懒有术工作有闲人生有味”分别拆分成第7、9、11、13行的样式

添加图片注释,不超过 140 字(可选)

要求:

○ 使用正则表达式函数

○ 每个公式正则表达式函数只用一次

样式一

添加图片注释,不超过 140 字(可选)

思考:

你能写出几个正则表达式?

最短的正则是几个字符?

能短到2个字符吗?

添加图片注释,不超过 140 字(可选)

参考答案1

=REGEXP(C2,".*?")

添加图片注释,不超过 140 字(可选)

解释:

小数点.

表示除换行符外的任意字符

星号*

表示0个或多个任意字符

问号?

表示懒惰匹配,能少匹配就少匹配。因此它会匹配到0个字符。

匹配0字符时它匹配到位置。

What?!位置是零字符????

解释:

添加图片注释,不超过 140 字(可选)

看不太懂的朋友请看以前的文章补一下功课:

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

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

①WPS新增的REGEXP函数,非常好用!强烈推荐

②WPS新增的REGEXP函数,有何特别魔力让人如此推荐?

③WPS新增的REGEXP函数,刚琢磨出的新颖用法

此公式的星号也可用问号“?”,表示0个或1个

=REGEXP(C2,".??")

注意,两个问号的作用是不同的。

第一个表示0个或1个,第2个表示懒惰匹配。

添加图片注释,不超过 140 字(可选)

参考答案2

添加图片注释,不超过 140 字(可选)

解释:

符号 | 称为 "管道符" 或 "或字符",表示逻辑上的 "或"(OR)。它用于匹配多个选项中的任意一个。

()是分组,里面没内容,相当于空字符。空字符就是位置

添加图片注释,不超过 140 字(可选)

那如果将()省略呢?

恭喜你,你的公式已经缩到了最短,正则表达式只有两个字符,短得不能再短了!

=REGEXP(C2,"|.")

添加图片注释,不超过 140 字(可选)

友情提醒:

公式不能写成=REGEXP(C2,".|")

为什么呢,因为匹配顺序是从左到右的,左边的先匹配。

详细解释:

添加图片注释,不超过 140 字(可选)

参考答案3

公式:

=REGEXP(C2,"\K|.")

添加图片注释,不超过 140 字(可选)

这个公式由ExcelHome论坛网友jerrike提供。

解释:

元字符\K以前的文章中介绍过,就是挥起大砍刀将前面的匹配结果砍掉

详见:

正则表达式的这些元字符,你顶多会两个,第一个很有用

结合参考答案2来看,在这里似乎对着空气砍了一刀。

那还有没其他写法呢,肯定是有的。

比如,将.改为\C装个逼凑个数也是可以的。

\C是干什么的?

详见:

提取含换行符在内的所有字符,有几种写法?【正则表达式】

最后总结一下

前面的公式看起来很多,本质上只有两个:

=REGEXP(C2,".??")

=REGEXP(C2,"|.")

还有哪些写法?

欢迎大家留言补充

未完待续,其他三种情形将陆续写成文章介绍。

敬请关注

添加图片注释,不超过 140 字(可选)

投票正则表达式难学吗?(5选1)
  • 很难,难如登天 0
  • 难,一用就废 1
  • 还好 1
  • 简单,多用就会了 2
  • 很简单,易如反掌 0
展开查看更多选项
4人参与 截止时间:2025/01/30 05:22:41
重庆
浏览 190
1
点赞
分享
+1
2
1 +1
全部评论 2
 
徐雯
这个函数"管道符" 或 "或字符",是否是通用的呢?如果想用AI写公式应该怎么提问呢?
· 湖北省
回复
龙逸凡
龙逸凡

创作者俱乐部成员

通用,“|”在所有流派的正则表达式中都是相同的作用。
· 重庆
回复