ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 正则规则引入变量的问题~

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-2-8 17:29 | 显示全部楼层 |阅读模式
各位,我把正则表达式装入自定义函数中,var 规则 = /循环/g , 这样测试时,一切正常,但是不能引入变量 ,当 var 规则 = new RegExp(变量),就出问题了, var last1 = 规则.lastIndex   时,last1 一直显示的0

附件如下,大佬给说说,哪错了?希望 一直用 .exec 方法解决问题,不用 match~
  1. function 查找(文本,单元格){
  2.         var 字符串 = 单元格.Value();                 //字符串
  3.         //问题出在 创建正则这一步,如果这么写的话  var 正则规则 = /循环/g   一切正常,问题是规则里不能用变量,会影响后期处理~请大佬给解决下
  4.         var 正则规则 = new RegExp(文本)               
  5.                
  6.                                             
  7.         var 数组 = 正则规则.exec(字符串);
  8.         var 查找位置 = 0;                                //查找的内容在字符串的位置
  9.         var 下一个查找位置 = 0;                                                        //查找的内容串在字符串的下一个位置位置
  10.         while( 数组 != null ){
  11.                 查找位置 = 数组.index;
  12.                 下一个查找位置 = 正则规则.lastIndex;
  13.                 Range("a1").Characters( 查找位置 + 1, 数组[0].length ).Font.Underline = xlUnderlineStyleSingle;
  14.                 数组 = 正则规则.exec(字符串);
  15.         }
  16. }

  17. function qq(){
  18.         查找("循环",Range("a1"));  
  19. }
复制代码





工作簿1.zip (6.76 KB, 下载次数: 8)

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-8 20:02 来自手机 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-8 22:26 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-12 05:19 , Processed in 0.053617 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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