没有合适的资源?快使用搜索试试~ 我知道了~
EXCEL-VBA-正则表达式-从实例开始.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 160 浏览量
2021-10-11
14:16:57
上传
评论
收藏 29KB DOCX 举报
温馨提示
试读
23页
EXCEL-VBA-正则表达式-从实例开始.docx
资源推荐
资源详情
资源评论
正那么表达式从实例开始
所有代码都测试过
: !"#$%&'
:!!(%!)*#*%&'
数据验证经常出现的情况是,需要验证和处理大量的文本容,有时候需要查找字符串,有
时候要按条件替换,并且这些待处理的问题还是有一定的规律可循的,但是无法通过枚举
的方式挨个验证,这个时候就需要正那么表达式来帮助。
正那么表达式+,!-(!./根底
正那么表达式是通用的文本搜索和处理方案,它的知识不是 独有的,根本上每种
语言都置了正那么表达式的功能。正那么表达式的根底知识不是这里的重点,需要的朋友
可以 0! 一下,或者参看下面的一些入门教程:
!!.!%%-%!!!!%&
!!1!!2%&
3&..2 !#))%&
中的正那么表达式应用
在 中使用正那么表达式,可以通过以下途径实现:
创建正那么表达式对象4
前期绑定:在 代码编辑器中的565菜单中,选中5,!2!!.!5,然后引用 78
9(%,!-(!."" 类库,然后直接定义对象::&!;!3,!(。
后期绑定:使用 !%!<=!% 方法定义对象:!%!<=!%+59,>?6,0?5/。
前一种方式的优点是可以有编辑器的 >.%!!.! 支持@
,!( 对象的属性4
0设置或返回一个 !.值,该值指明在整个搜索字符串时模式是全部匹配还是只
匹配第一个。如果搜索应用于整个字符串,0属性的值应该为 6-!,否那么其值为
A!。默认的设置为 6-!。
7-B.!返回正那么表达式是否具有标志 &C缺省值为 A!。如果指定的搜索字符串分布
在多行,这个属性是要设置为 6-! 的。
>.!!设置或返回一个 !. 值,指明模式搜索是否区分大小写。如果搜索是区分
大小写的,那么 >.!!属性应该为 A!;否那么应该设为 6-!。缺省值为 6-!。
?D!.设置或返回被搜索的正那么表达式模式。被搜索的正那么字符串表达式。它包含
各种正那么表达式字符。
,!( 对象的方法4
!-%!对指定的字符串执行正那么表达式搜索。需要传入要在其上执行正那么表达式的
文本 字符 串。 正那 么表 达式 搜索 的设 计模 式是 通过 ,!( 对象 的 ?D!. 来设 置的 。
!-%! 方法返回一个 7%! 集合,其中包含了在 %. 中找到的每一个匹配的 7% 对
象。如果未找到匹配,!-%! 将返回空的 7%! 集合。
,!(!替换在正那么表达式查找中找到的文本@
6!%对指定的字符串执行一个正那么表达式搜索,并返回一个 !.值指示是否找到匹
配的模式。,!(0 属性对 6!% 方法没有影响。如果找到了匹配的模式,6!% 方法返
回 6-!;否那么返回 A!。
7%!B. 对象与 7% 对象
)
匹配到的所有对象放在 7%!B. 集合中,这个集合对象只有两个只读属性:
-.%4匹配到的对象的数目
>%!&:集合的又一通用方法,需要传入 >.! 值获取指定的元素。
一般,可以使用 A 语句枚举集合中的对象。集合中对象的类型是 7%。
7% 对象有以下几个只读的属性4
A%>.!匹配字符串在整个字符串中的位置,值从 开始。
!.%匹配字符串的长度@
-!匹配的字符串@
9-7%!集合,匹配字符串中每个分组的值。作为集合类型,有 -.% 和 >%!& 两个属
性。
常用的正那么表达式主要有以下几种4
匹配中文字符的正那么表达式4E-#!E-2"'
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
匹配双字节字符 +包括汉字在/4FEEG'
评注:可以用来计算字符串的长度〔一个双字节字符长度计 ,9>> 字符计 〕
匹配空白行的正那么表达式:E.EHE
评注4可以用来删除空白行
匹配 I67 标记的正那么表达式:J+E9H@/FK'HKH@JKLJH@K
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配局部,对于复杂的嵌套标记依旧无
能为力
匹配首尾空白字符的正那么表达式:FEHLEHM
评注:可以用来删除行首行尾的空白字符+包括空格、制表符、换页符等等/,非常有用的
表达式
匹配 & 地址的正那么表达式:E3N+N'E3N/HE3N+'E3N/HEE3N+'E3N/H
评注4表单验证时很实用
匹配网址 O, 的正那么表达式:11'N4FE'H
评注:网上流传的版本功能很有限,上面这个根本可以满足需求
匹配是否合法+字母开头,允许 "$ 字节,允许字母数字下划线/:F1P'1PQ'
R#C"SM
评注4表单验证时很实用
匹配国:EELEE
评注:匹配形式如 或
匹配腾讯号:''R#CS
评注4腾讯号从 开始
匹配中国邮政编码:'E+@TE/
评注4中国邮政编码为 $ 位数字
匹配:ELE
评注4中国的为 " 位或 位
匹配 ( 地址:ENEENEENEEN
评注4提取 ( 地址时有用
匹配特定数字4
F'EHM匹配正整数
F'EHM匹配负整数
)
F@'EHM匹配整数
F'EHLM匹配非负整数〔正整数 N〕
F'EHLM匹配非正整数〔负整数 N〕
F'EHEEHLEEH'EHM匹配正浮点数
F+'EHEEHLEEH'EH/M匹配负浮点数
F@+'EHEEHLEEH'EHL@ENL/M匹配浮点数
F'EHEEHLEEH'EHL@ENLM匹配非负浮点数〔正浮点数 N〕
F++'EHEEHLEEH'EH//L@ENLM匹配非正浮点数〔负浮点数 N〕
评注:处理大量数据时有用,具体应用时注意修正
匹配特定字符串4
FP1'NM匹配由 $ 个英文字母组成的字符串
FP'NM匹配由 $ 个英文字母的大写组成的字符串
F1'NM匹配由 $ 个英文字母的小写组成的字符串
FP1'NM匹配由数字和 $ 个英文字母组成的字符串
FE3NM匹配由数字、$ 个英文字母或者下划线组成的字符串
评注4最根本也是最常用的一些表达式
代码语法说明
匹配除换行符以外的任意字符
E3匹配字母或数字或下划线或汉字
E匹配任意的空白符
E匹配数字
E匹配单词的开始或完毕
F匹配字符串的开始
M匹配字符串的完毕
表 常用的限定符
代码语法说明
H重复零次或更屡次
重复一次或更屡次 N
?.%重复零次或一次
R.S重复 . 次
R.CS重复 . 次或更屡次
R.C&S重复 . 到 & 次
表 )常用的反义代码
代码语法说明
EU匹配任意不是字母,数字,下划线,汉字的字符
E9匹配任意不是空白符的字符
E:匹配任意非数字的字符
E匹配不是单词开头或完毕的位置
F'匹配除了 以外的任意字符
F!-'匹配除了 !- 这几个字母以外的任意字符
))
表 #常用分组语法
代码语法说明分类
+!(/匹配 !(C并捕获文本到自动命名的组里捕获
+@J.&!K!(/匹配 !(C并捕获文本到名称为 .&! 的组里,也可以写成+@.&!!(/
+@4!(/匹配 !(C不捕获匹配的文本,也不给此分组分配组号
+@V!(/匹配 !( 前面的位置零宽断言
+@JV!(/匹配 !( 后面的位置
+@T!(/匹配后面跟的不是 !( 的位置
+@JT!(/匹配前面不是 !( 的位置
+@W&&!.%/这种类型的分组不对正那么表达式的处理产生任何影响,用于提供注释让人
阅读注释
表 "懒惰限定符
代码语法说明
H@重复任意次,但尽可能少重复
N@重复 次或更屡次,但尽可能少重复
@@重复 次或 次,但尽可能少重复
R.C&S@重复 . 到 & 次,但尽可能少重复
R.CS@重复 . 次以上,但尽可能少重复
表 $常用的处理选项
名称说明
>.!!+忽略大小写/匹配时不区分大小写。
7-B.!+多行模式/更改F和M的含义,使它们分别在任意一行的行首和行尾匹配,而不仅
仅在整个字符串的开头和结尾匹配。+在此模式下CM的准确含意是4匹配E. 之前的位置以与字
符串完毕前的位置/
9.!.!+单行模式/更改的含义,使它与每一个字符匹配〔包括换行符E.〕。
>.!?D!.U%!(!+忽略空白/忽略表达式中的非转义空白并启用由W标记的注释。
(%(%-!+显式捕获/仅捕获已被显式命名的组。
表 *尚未详细讨论的语法
代码语法说明
E报警字符+打印它的效果是电脑嘀一声/
E通常是单词分界位置,但如果在字符类里使用代表退格
E%制表符,6
E回车
E 竖向制表符
E2换页符
E.换行符
E!(!
E..9>> 代码中八进制代码为 .. 的字符
E..9>> 代码中十六进制代码为 .. 的字符
E-....O.! 代码中十六进制代码为 .... 的字符
E;9>> 控制字符。比如E 代表 %N
#)
E字符串开头+类似F,但不受处理多行选项的影响/
EP字符串结尾或行尾+不受处理多行选项的影响/
E1字符串结尾+类似M,但不受处理多行选项的影响/
E0当前搜索的开头
E(R.&!SO.! 中命名为 .&! 的字符类,例如E(R>0!!XS
+@K!(/贪婪子表达式
+@JKJK!(/平衡组
+@&.4!(/在子表达式 !( 中改变处理选项
+@&./为表达式后面的局部改变处理选项
+@+!(/!L./把 !( 当作零宽正向先行断言,如果在这个位置能匹配,使用 ! 作为此组
的表达式;否那么使用 .
+@+!(/!/同上,只是使用空表达式作为 .
+@+.&!/!L./如果命名为 .&! 的组捕获到了容,使用 ! 作为表达式;否那么使用 .
+@+.&!/!/同上,只是使用空表达式作为 .
在 中使用正那么表达式,可以通过以下途径实现:
创建正那么表达式对象4
前期绑定:在 代码编辑器中的565菜单中,选中5,!2!!.!5,然后引用 78
9(%,!-(!."" 类库,然后直接定义对象::&!;!3,!(。
后期绑定:使用 !%!<=!% 方法定义对象:!%!<=!%+59,>?6,0?5/。
前一种方式的优点是可以有编辑器的 >.%!!.! 支持@
,!( 对象的属性4
0设置或返回一个 !.值,该值指明在整个搜索字符串时模式是全部匹配还是只
匹配第一个。如果搜索应用于整个字符串,0属性的值应该为 6-!,否那么其值为
A!。默认的设置为 6-!。
7-B.!返回正那么表达式是否具有标志 &C缺省值为 A!。如果指定的搜索字符串分布
在多行,这个属性是要设置为 6-! 的。
>.!!设置或返回一个 !. 值,指明模式搜索是否区分大小写。如果搜索是区分
大小写的,那么 >.!!属性应该为 A!;否那么应该设为 6-!。缺省值为 6-!。
?D!.设置或返回被搜索的正那么表达式模式。被搜索的正那么字符串表达式。它包含
各种正那么表达式字符。
,!( 对象的方法4
!-%!对指定的字符串执行正那么表达式搜索。需要传入要在其上执行正那么表达式的
文本 字符 串。 正那 么表 达式 搜索 的设 计模 式是 通过 ,!( 对象 的 ?D!. 来设 置的 。
!-%! 方法返回一个 7%! 集合,其中包含了在 %. 中找到的每一个匹配的 7% 对
象。如果未找到匹配,!-%! 将返回空的 7%! 集合。
,!(!替换在正那么表达式查找中找到的文本@
6!%对指定的字符串执行一个正那么表达式搜索,并返回一个 !.值指示是否找到匹
配的模式。,!(0 属性对 6!% 方法没有影响。如果找到了匹配的模式,6!% 方法返
回 6-!;否那么返回 A!。
7%!B. 对象与 7% 对象
匹配到的所有对象放在 7%!B. 集合中,这个集合对象只有两个只读属性:
-.%4匹配到的对象的数目
>%!&:集合的又一通用方法,需要传入 >.! 值获取指定的元素。
")
剩余22页未读,继续阅读
资源评论
beibeidzh
- 粉丝: 8
- 资源: 24万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Matlab人脸肤色定理的教师人数统计+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab霍夫曼变换的表盘读数识别+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab火灾烟雾检测源码带GUI界面+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab的恶劣天气交通标志识别系统+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于MATLAB的霍夫曼变换的表盘示数识别+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab的车道线识别系统 +源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于MATLAB的教室人数统计系统带Gui界面+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于MATLAB的教室人数统计系统带Gui界面+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于MATLAB 的霍夫曼变换答题卡识别源码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab+bp神经网络的神经网络汉字识别系统+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功