|
各位,我把正则表达式装入自定义函数中,var 规则 = /循环/g , 这样测试时,一切正常,但是不能引入变量 ,当 var 规则 = new RegExp(变量),就出问题了, var last1 = 规则.lastIndex 时,last1 一直显示的0
附件如下,大佬给说说,哪错了?希望 一直用 .exec 方法解决问题,不用 match~
- function 查找(文本,单元格){
- var 字符串 = 单元格.Value(); //字符串
- //问题出在 创建正则这一步,如果这么写的话 var 正则规则 = /循环/g 一切正常,问题是规则里不能用变量,会影响后期处理~请大佬给解决下
- var 正则规则 = new RegExp(文本)
-
-
- var 数组 = 正则规则.exec(字符串);
- var 查找位置 = 0; //查找的内容在字符串的位置
- var 下一个查找位置 = 0; //查找的内容串在字符串的下一个位置位置
- while( 数组 != null ){
- 查找位置 = 数组.index;
- 下一个查找位置 = 正则规则.lastIndex;
- Range("a1").Characters( 查找位置 + 1, 数组[0].length ).Font.Underline = xlUnderlineStyleSingle;
- 数组 = 正则规则.exec(字符串);
- }
- }
- function qq(){
- 查找("循环",Range("a1"));
- }
复制代码
工作簿1.zip
(6.76 KB, 下载次数: 8)
|
|