ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: 413191246se

[讨论] 正则表达式实测慢于VBA查找

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-6-20 12:12 | 显示全部楼层
学习中。……。……。……。……。……。……。……。……

TA的精华主题

TA的得分主题

发表于 2018-6-20 12:33 来自手机 | 显示全部楼层
本帖最后由 zhanglei1371 于 2018-6-20 12:35 编辑

lz直接说正则<word原生find,摆明了是不给杜大佬面子^-^
个人感觉,正则在字符串处理方面,查找的灵活性方面要强于word自身的方法。但是都让其干同样的活,犹如让知识分子和大老粗去搬砖,肯定显现不出其速度的优势。若是将range对象交给了str,成了字符串,那么find方法就无计可施了,而此时恰是正则的强项。
至于域的删除,个人认为不是良好的方法。毕竟作为word精髓的域有着独特的灵活性。此时正则也有用武之地,只需匹配到value,下一步将value交给find就可以了,等于是间接解决了问题。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-20 14:52 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
* 谢谢 zhanglei1371 大师/老师!
* 域,我也不会用,有几次打印材料,发现被隐藏的域给破坏了版面,所以决定见到域就删除。
* 正则表达式是个好东东,目前还真没掌握,前两天才初步明白一点点。
*
* 上午我说成功了,结果,下午测试巨大文本(100页,同一文档复制多份),发现有错误!
* 出错信息:数值超出范围!-
* 代码停留在下面第二行代码:
        For Each Match In Matches
            With doc.Range(Start:=Match.FirstIndex, End:=Match.FirstIndex + Match.Length)
* 10楼代码处理100页巨大文本出错!不知道怎么回事。张老师/杜先生,有何意见?

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-20 14:56 | 显示全部楼层
本帖最后由 413191246se 于 2018-6-20 14:58 编辑

我再说一件可笑的事吧!——杜先生 在 Title2345 宏里用了 .MoveWhile 方法,结果,我按 F1 查询它的用法,结果,它的示例代码光标全不动!几乎是无用嘛!但 杜先生 就会用,我就不会用,光标不动怎么处理呢?可见,杜先生 水平太高了!我得看到光标才放心。——另外,去年,杜先生 为我写了不少代码,即使现在不用正则表达式,我也非常感谢 杜先生 曾经费尽心血、呕心沥血为我写代码,心里十分感激!——从来没有冒犯、小看 杜先生 的意思,杜先生 永远是我心中的大神/老师/智者!——谢谢 杜先生!多休息。

TA的精华主题

TA的得分主题

发表于 2018-6-20 23:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
文档中有域的时候,正则表达式的firstindex可能会出错,已困扰多时

TA的精华主题

TA的得分主题

发表于 2018-6-21 23:13 | 显示全部楼层
daibao88 发表于 2018-6-20 23:11
文档中有域的时候,正则表达式的firstindex可能会出错,已困扰多时

这种情况还是建议用find对象

TA的精华主题

TA的得分主题

发表于 2019-12-6 23:49 | 显示全部楼层
413191246se 发表于 2018-6-20 14:52
* 谢谢 zhanglei1371 大师/老师!
* 域,我也不会用,有几次打印材料,发现被隐藏的域给破坏了版面,所以 ...

我遇到的情况和你的相似又不一样,我的也是大文档出问题,原因是:
m=firstindex,m未声明为long。
你的是直接引用的,不知道情况是不是和我的一样。中断的时候看下firstindex值吧,看是否超出整数范围

TA的精华主题

TA的得分主题

发表于 2021-11-23 11:47 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-3-29 04:20 , Processed in 0.047707 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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