- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
EXCEL VBA正则表达式学习
1、正则表达式能干什么呢?你肯定用过excel的“查找”、“替换”功能。正则表达式也可以对字符串进行特定的复杂查找和替换,但它比“查找”和“替换”功能强大的多的多。正在看蓝桥玄霜版主的字典帖,选了其中的两个例子(附件中的例A和例B),你看到的第一反应是用字典去解决,例A和例B使用正则表达式也很好的解决了问题。(给出这两个例子不是说正则表达式比字典好,只是借此体会正则表达式的强大功能)例1、有如下一组电话号码,如何改变成右侧的样式。(020 020021 0210371 03710392)1234567 0392-1234567(010 0100393 03930372 0372想到用查找—替换功能解决的方法了吗?利用正则表达式很容易实现。Private Sub CommandButton1_Click()Dim regEX As New RegExp‘定义一个正则表达式对象regEX.Pattern = \((\d{3,4})\)(\d{7,8})‘设置正则表达式For i = 1 To 7Range(c i) = regEX.Replace(Range(a i), $1-$2)NextEnd Sub2、什么是正则表达式?简单的说,正则表达式就是一个由一组具有特殊含义的字符组成的字符串,(如例中的\((\d{3,4})\)(\d{7,8})),这些有特殊含义的字符设置了一些条件,并通过regEX.Pattern = \((\d{3,4})\)(\d{7,8})这一句告诉查找引擎,按照它规定的条件查找符合要求的字符串。再看一个简单的例子:例2,把字符串“这有一本关于VBA的书,它在第二个书柜里”里的书换为“book”。Private Sub CommandButton2_Click()Dim regEX As New RegExpregEX.Global = True‘设置查找返回全部匹配regEX.IgnoreCase = FALSE‘设置查找不区分大小写regEX.Pattern = 书Range(a12) = regEX.Replace(这有一本关于VBA的书,它在第二个书柜里, book)End Sub3、正则表达式的工作原理我们需要找出目标字符串中所有的“书”字,根据我们的要求写出正则表达式:”书”,通过regEX.Pattern = 书这句把我们的要求以正则表达式的形式告诉查找引擎(本例中正则表达式规定的条件很简单:符合要求的字符串必须是字符“书”),查找引擎从目标字符串的第一个字符开始查找,找到符合正则表达式要求的字符串后就存储起来,然后继续向后查找直到结束。最后,把找到的所有符合要求的字符串以集合的形式返回。(关于返回的集合后面会详细介绍)4、正则表达式对象有四个属性:Global:设置为true表示查找引擎返回找到的所有符合要求的子字符串,设置为false表示只返回找到的第一个符合要求的子字符串。IgnoreCase:设置为true表示查找时忽略大小写,设置为FALSE表示查找时区分大小写。Pattern:存放正则表达式,如例2一样regEX.Pattern = 书MultiLine:不用多说了吧。5、正则表达式对象有三个方法:Execute方法:语法object. Execute(sourcestring as string) as string, object为你定义的正则表达式对象(如:regEX),参数sourcestring为要对其进行查找的字符串(如例中的这有一本关于VBA的书,它在第二个书柜里)。Execute方法查找并返回符合要求的字符串的集合,相当于使用“查找”功能。Test方法:语法object. Execute(sourcestring as string) as string,其结构和用法和Execute方法一样,它和Execute方法唯一不同的是Test方法只进行测试查找,而不会返回符合要求的子字符串集合。一般用它判断是否可以找到符合要求的字符串。Replace方法:语法object. Replace(sourcestring as string,Replace) as string, object为你定义的正则表达式对象,参数sourcestring为要对其进行查找的字符串, 参数Replacevar为要替换成的内容(如例中的book)。Replace方法查找并返回符合要求的字符串的集合,然后对集合里
您可能关注的文档
- 多系统引导程序示例.doc
- 2016年黄浦区二模作文“碰撞”高分例文.docx
- 2016开学第一课doc.docx
- 2016年新目标九年级词形转换200练.docx
- (纪律处分条例分类整理)8情节严重的,给予撤销党内职务或者留党察看处分。.doc
- (说明所有的操作都在dsourcewindows043文件夹下完.doc
- 2016江西上犹县妇幼保健院招聘2人公告.doc
- 奔驰CLS原车屏幕升级导航,原车屏幕升级倒车后视+数字蓝牙+触摸手写).doc
- 007循环语句和循环控制.doc
- 2016湖北选调生申论备考:“解释型”综合分析能力的解答思路.docx
- 2025年南京市市场监督管理局所属事业单位招聘编外笔试高频难、易错点备考题库及完整答案详解1套.docx
- 2025年南通如东县融媒体中心招聘紧缺型专业人才笔试备考题库及答案详解1套.docx
- 2025年南京市鼓楼区文化和旅游局所属事业单位招聘2人笔试备考题库及答案详解1套.docx
- 2025年四川成都市司法局所属事业单位招聘中学教师27人笔试备考题库参考答案详解.docx
- 2025年南充市公安局第一次招聘27名交通辅警的笔试高频难、易错点备考题库及参考答案详解一套.docx
- 2025年四川省医学科学院·四川省人民医院招聘58人(第二次)笔试高频难、易错点备考题库及参考答案详.docx
- 2025年四川巴中市公安局恩阳区分局招聘警务辅助人员20人笔试备考题库含答案详解.docx
- 2025吉林农业大学招生专业目录.doc
- 2025级《建筑施工技术》复习提纲资料.doc
- 2025年教师招聘试题答案.doc
最近下载
- GB50863-2013 尾矿设施设计规范.docx VIP
- 2025年陕西省二级造价工程师职业资格考试《基础知识》真题及答案.docx VIP
- 人教版PEP三年级英语下册全册同步练习随堂练习一课一练版(有答案).pdf VIP
- 彩钢管理房单元工程施工质量评定表(1).doc VIP
- 江西婺源篁岭民俗文化村发展规划--规划说明.pdf
- IATF16949-2016事态升级控制规范.doc VIP
- 新收入准则对电商企业运营的影响及应对策略.docx VIP
- 东莞市地图含区县可编辑可填充动画演示矢量分层地图PPT模板.pptx VIP
- XX县2022年度自然资源统一确权登记项目技术设计书模版.docx VIP
- 女儿墙维修工程施工方案(3篇).docx VIP
文档评论(0)