关于正则表达式的求助

有文字一段如下:截止目前,有8笔单据等待您审批,请及时登录智能财务在线系统处理,避免影响报销进程。 单据详情: 1、单号: BX2408121180,费用事项: 行政招待 2、单号: BX2408121213,费用事项: 客户附加值 3、单号: BX2408125723,费用事项: 业务差旅 4、单号: BX2408122048,费用事项: 行政招待 5、单号: BX2408127028,费用事项: 其他业务推动 6、单号: BX2408124512,费用事项: 行政招待 7、单号: BX2408116167,费用事项: 内勤市内公出 8、单号: BX2408103294,费用事项: 公关活动-落地公关

用REGEXP公式结合textsplit如何弄成下面的样子?

湖南省
浏览 206
收藏
2
分享
2 +1
10
+1
全部评论 10
 
凑个热闹
· 浙江省
回复
 
Tam Kingsley

创作者俱乐部成员

如果分别用正则可以这样 REGEXP(A1,"\d+(?=、)") REGEXP(A1,"(?<=、)\p{Han}+") REGEXP(A1,"\w+(?=,)") REGEXP(A1,"(?<=,)\p{Han}+") REGEXP(A1,"(?<=: )[\p{Han}-]+") 建议参考新路老师的方法,最简单~
· 广东省
1
回复
Tam Kingsley

创作者俱乐部成员

按照要求补充一下REGEXP公式结合TEXTSPLIT后的结果:TEXTSPLIT(REGEXP(A1,"(\d+(?=、))、((?<=、)\p{Han}+): (\w+(?=,)),((?<=,)\p{Han}+): ((?<=: )[\p{Han}-]+)",2,"\1&\2&\3&\4&\5;"),"&",";",TRUE) 您看看是不是您要的结果~
· 广东省
回复
 
wps新路

WPS函数专家

=WRAPROWS(TEXTSPLIT(A1,,{"、",":",","," "},1),5)
· 重庆
2
回复
嗯,这思路不错。
· 湖南省
回复
 
=REGEXP(A19,"\d、.")匹配,为啥=REGEXP(A19,"\d、.*")后面加个*就不成功了。万思不得其解。
· 湖南省
回复
Tam Kingsley

创作者俱乐部成员

因为【\d、.*】这个匹配的就是【数字、任何文本的结果】,按照您的例子,就是这个都匹配出来相当于全匹配(本身)~
· 广东省
回复