ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 320|回复: 11

[求助] 关于power query 里面使用正则表达式(为了学习pq里面的正则)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-6-17 22:54 | 显示全部楼层 |阅读模式
本帖最后由 everbest2015 于 2024-6-17 22:55 编辑

请问以下正则表达式要怎么运用到power query 里面呢。  在pq中是如下提示  ---------------------------------------------------------------------------------------
以下是附件  ,烦请各路大神帮忙,十分感谢-------------------------------------------------------------------------------------------------------------------------------


正则.png
pq.png

正则提取V1.0.rar

226.69 KB, 下载次数: 5

TA的精华主题

TA的得分主题

发表于 2024-6-17 23:13 | 显示全部楼层
Web.Page("<script>document.write( '"&[字段名]&"'.match(/[a-z]/gi))</script>")[Data]{0}[Children]{0}[Children]{1}[Text]{0}

TA的精华主题

TA的得分主题

发表于 2024-6-17 23:15 | 显示全部楼层
另外,同样不支持 逆序零宽断言!!!!!!!!!!(也就是 (?<=) (?<!)这两种)

TA的精华主题

TA的得分主题

发表于 2024-6-18 11:25 来自手机 | 显示全部楼层
select *,udf_preg_match_all_join('(?<=[A-Z].)[\x{4e00}-\x{9fa5}]+',选项) from Sheet1;
Screenshot_2024-06-18-11-25-14-481_com.mmbox.xbrowser.pro.jpg

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-6-18 12:07 | 显示全部楼层
cnmlgb9998 发表于 2024-6-17 23:15
另外,同样不支持 逆序零宽断言!!!!!!!!!!(也就是 (?<=) (?<!)这两种)

感谢, 还想请教下  是js 本身就不支持 ?<= 这种零宽断言 还是说js正则被引入到pq 里面后。阉割了一部分功能 导致不支持这种用法啊

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-6-18 12:08 | 显示全部楼层
zpy2 发表于 2024-6-18 11:25
select *,udf_preg_match_all_join('(?

感谢大佬帮忙,但是看不懂

TA的精华主题

TA的得分主题

发表于 2024-6-18 12:32 来自手机 | 显示全部楼层
everbest2015 发表于 2024-6-18 12:08
感谢大佬帮忙,但是看不懂

这个是在线sql,在sql里嵌入正则表达式,和pq差不多,但是支持零宽断言

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-6-18 12:33 | 显示全部楼层
zpy2 发表于 2024-6-18 12:32
这个是在线sql,在sql里嵌入正则表达式,和pq差不多,但是支持零宽断言

好的 感谢大佬的解答  主要是想学习下js  正则在pq里面的应用

TA的精华主题

TA的得分主题

发表于 2024-6-18 12:34 来自手机 | 显示全部楼层
everbest2015 发表于 2024-6-18 12:07
感谢, 还想请教下  是js 本身就不支持 ?

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions


x       
匹配'x'仅当'x'前面是'y'.这种叫做后行断言。

例如,/(?<=Jack)Sprat/会匹配到' Sprat '仅仅当它前面是' Jack '。/(?<=Jack|Tom)Sprat/匹配‘Sprat ’仅仅当它前面是'Jack'或者是‘Tom’。但是‘Jack’和‘Tom’都不是匹配结果的一部分。

x(?!y)       
仅仅当'x'后


应该是pq不支持,js有

TA的精华主题

TA的得分主题

发表于 2024-6-18 12:35 来自手机 | 显示全部楼层
everbest2015 发表于 2024-6-18 12:33
好的 感谢大佬的解答  主要是想学习下js  正则在pq里面的应用

x       
匹配'x'仅当'x'前面是'y'.这种叫做后行断言。

例如,/(?<=Jack)Sprat/会匹配到' Sprat '仅仅当它前面是' Jack '。/(?<=Jack|Tom)Sprat/匹配‘Sprat ’仅仅当它前面是'Jack'或者是‘Tom’。但是‘Jack’和‘Tom’都不是匹配结果的一部分。

x(?!y)       
仅仅当'x'后

js支持的,发了个链接,审核中
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-9-28 03:18 , Processed in 0.050061 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表