Excel 如何怎么编写正则表达式怎么用

君,已阅读到文档的结尾了呢~~
[最新]excel vba 正则表达式 从实例开始
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
[最新]excel vba 正则表达式 从实例开始
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口查看: 394|回复: 4
这个正则表达式的pattern怎么写
阅读权限20
在线时间 小时
& & & & & & & &
本帖最后由 zxcv4444 于
08:46 编辑
这个正则表达式的pattern怎么写(见附件)?只需回复pattern即可,谢谢了。。。
08:46 上传
点击文件名下载附件
6.63 KB, 下载次数: 11
阅读权限95
在线时间 小时
楼主数据太少,看不出要提取数据的规律。根据现有两行数据写了一个,供楼主参考。& & .Pattern = &\b\d[A-Z]{7}\d[A-Z]{2}\d{6}\b&
阅读权限95
在线时间 小时
.Pattern = &\w{17}&
阅读权限95
在线时间 小时
详见附件。
09:08 上传
点击文件名下载附件
10.39 KB, 下载次数: 4
阅读权限20
在线时间 小时
.Pattern = &\d\w[16}&
最新热点 /1
全网最低价!别怕,Excel VBA其实很简单(第2版)+ Excel 2013函数与公式应用大全 + Excel 2013数据透视表应用大全(套装全3册)原价257,进店享受10元满减,领取30元优惠券,到手价只要106元,比五折包邮还实惠,还等什么,赶快下单吧!
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师常用教程:
您现在的位置: > 教程 >
EXCEL VBA正则表达式的介绍及使用上篇
8:50:29 | ReadNums | 11689 | 标签
  ①正则表达式的概述
  正则表达式原本是形式语言理论中的概念,与编译器的构造有密切的联系。但是作为一个应用软件的用户,我们没有必要去细究正则表达式的严格定义和处理方法。本文将从实用的角度出发,阐述引入正则表达式的目的、正则表达式的命令格式,以及如何利用正则表达式完成一些实际的文本处理工作。
  我们在处理文本时,经常会遇到一些具有某种特定格式,或者说满足某种规则的文本。比如,一个无符号的整数由一连串的数字构成,而一个Email地址的格式则是“用户名@主机名”,其中用户名是一串字母或数字,主机名则是由若干个由“.”分隔的字母数字串。正则表达式就是用来指定这种规则的。如果某个字符串满足正则表达式指定的规则,则称该字符串为正则表达式的一个“匹配串”。
  ②正则表达式的构成
  为了方便理解,让我们先来看看大家比较熟悉的数学表达式,“(x+3)*2+y”是一个典型的数学表达式。一个数学表达式由若干个“项”组成,“项”与“项”之间用加号或减号相连;这里“(x+3)*2”和“y”分别是两个项。每个项又由若干个“因子”组成,因子之间用乘号或除号相连;这里第一个项有两个因子“(x+3)”和,而第二个项只有一个因子“y”。每个因子可以是一个简单的数,一个代数变量,也可以是放在括号里面的另一个表达式。对于最后一种情况,括号中的表达式称为“子表达式”;这里“x+3”就是一个子表达式。
  正则表达式的结构与数学表达式很相似。与数学表达式的“项”相对应,正则表达式由若干个“分支”构成,“分支”之间用符号“|”相连。从逻辑上讲,分支之间是一种“或”的关系,一个字符串只要与正则表达式中的任何一个分支相匹配,这个字符串就与整个正则表达式相匹配。比如,“第三人称代词”可以用正则表达式表示为“他|她|它|他们|她们|它们”。
  与数学表达式的“因子”相对应,构成正则表达式“分支”的部件称为“原子”。“原子”与“原子”之间没有任何符号相连。从逻辑上讲,原子之间是串接的关系,一个字符串必须与各个原子依次相匹配,才算与这个分支相匹配。比如在上面的例子中,分支“他们”由两个原子“他”和“们”组成。
  正则表达式的本质是它的“原子”可以有多种不同的形式。前面的例子是最简单的情形,即每个原子由一个普通字符组成。除此以外,“原子”还可以是特殊符号、通配符、字符集以及子表达式。
  A、特殊符号
  可以作为特殊符号的原子有:
  ^ 匹配行首。例如,“^他”匹配出现在行首的“他” 字。值得注意的是,这个符号仅仅表示“行首”这个 位置,与它相匹配的字符串长度为0;
  $ 匹配行末。与“^”相似,它仅表示“行末”这个位 置。例如,“。$”匹配出现在行末的句号;
  & 匹配词首。词首的定义是紧接在非字母数字之后的第 一个字母数字或下划线(_),汉字永远是词首。与“^” 相似,它仅表示“词首”这个位置,匹配长度为0;
  & 匹配词尾。词尾是指紧接在字母数字或下划线之后的 第一个非字母数字下划线,任一汉字之后也属于词尾。 词尾的匹配长度也是0;
  \t TAB字符;
  \e ESC字符;
  B、通配符
  通配符是用一个符号(或几个符号组合)来匹配某一类满足条件的字符。可以使用通配符来查找字符是正则表达式的一大特点。通配符(注意大小写的区别):
  半角部分: .(句点) 匹配任何字符; \a 匹配任意英文字母; \~a 匹配除字母外的任意字符; \d 匹配任意数字; \~d 匹配除数字外的任意字符; \h 匹配任意词首字符(字母及下划线); \~h 匹配除字母及下划线以外的任意字符; \l 匹配任意小写字母; \~l 匹配除小写字母外的任意字符; \o 匹配任意八进制数字相匹配(0-7); \~o 匹配除八进制数字外的任意字符; \p 匹配任意半角标点符号; \~p 匹配除半角标点以外的任意字符; \s 匹配任意空白字符(空格、TAB); \~s 匹配任意非空白字符; \u 匹配任意大写字母; \~u 匹配除大写字母外的任意字符; \w 匹配可成词的字符(字母、数字及下划线); \~w 匹配成词字符外的任意字符; \x 匹配任意十六进制数字(0-9,a-f, A-F); \~x 匹配除十六进制数字外的任意字符;
  全角部分: \f 匹配任意双字节字符(汉字或全角符号); \~f 匹配任意单字节字符; \A 匹配任意全角ASCII字符; \b 匹配任意收录在BIG5码集中的双字节字符; \~b 匹配未收录在BIG5码集中的双字节字符; \c 匹配任意汉字(不包括符号); \~c 匹配非汉字的双字节字符; \D 匹配地支字符(子丑寅卯……); \g 匹配收录在GB码集中的双字节字符; \~g 匹配非收录在GB码集中的双字节字符; \k 匹配日文片假名; \K 匹配日文平假名; \m 匹配小写希腊字母; \M 匹配大写希腊字母; \n 匹配中文数字(一二三四……); \N 匹配大写中文数字(壹贰叁肆……); \P 匹配全角标点符号; \r 匹配小写俄文字母; \R 匹配大写俄文字母; \s 匹配数学符号; \S 匹配中文序号(⒈⒉⒊⒋……); \T 匹配天干字符(甲乙丙丁……); \V 匹配竖排标点符号; \y 匹配拼音字符; \Y 匹配注音字符; \Z 匹配制表字符;
  C、字符集
  字符集是用一对方括号[]括起来的字符串,用以匹配字符集中的任何一个字符。比如“[他她它]”匹配单数第三人称代词。如果方括号中的第一个字符是"^",则匹配除指定字符外的任何其它字符。在字符集中,还可以用"-"表示字符的范围,例如“[a-z]”匹配任何小写字母。注意尽量不要用“-”表示汉字的范围,因为汉字并没有公认的次序,目前是依据汉字内码来确定范围的。如果两个汉字的内码相差很大,将消耗大量的内存,运算也将非常缓慢。为了避免这种现象,限制表示范围的起始与终止汉字必须位于同一区。如果字符集要包括字符“]”、“^”、“-”或“\”,可以在这些字符前加“\”。例如“[\^xyz]”匹配"^", "x","y"或"z"。另外需要特别指出的是,前面所述的特殊字符及通配符,除了"\t"和"\e"外,在字符集中均作为普通字符处理。
  字符集的匹配速度比通配符慢,所以应该尽可能地使用通配符。例如要查找半角数字时,应该使用\d,而不要使用[0-9],虽然后者也是正确的。
  D、子表达式
  子表达式是指用一对括弧()括起来的另外一个正则表达式。使用子表达式有两种主要的目的。一是改变匹配的优先级,例如“中|西文软件”匹配的是“中”或“西文软件”,但是“(中|西)文软件”匹配的是“中文软件”或“西文软件”。
  使用子表达式的另一个目的,是引用前面匹配到的内容。例如要查找形如“哈哈”、“嘻嘻”的叠字词,可以写“(\c)\1”。这里“(\c)”匹配任意汉字,而则引用匹配到的内容。允许在一个查找串包含最多9个子表达式,它们的匹配内容可以分别用,...来加以引用。子表达式也可以嵌套另一个子表达式,子表达式左括号出现的序号为这个表达式的编号。另外需要注意的是,只能引用已经匹配了的子表达式,象上面的例子不可以写成“\1(\c)”,同理,也不应该引用不同分支中的子表达式,因为一个正则表达式中只可能有一个分支被匹配。
问题未解决:
内容实用原创,讲得很好。
有问题请在线咨询。Excel中使用正则表达式_文档下载
亿万文档 免费下载
当前位置: &
& Excel中使用正则表达式
Excel中使用正则表达式
对Excel单元格内容中的特定文字设置不同的格式
Excel另类条件化格式
我们知道,Excel的条件化格式可以根据单元个的内容来设置整个单元格的格式。如图1中的C列,当单元格的内容为“结束”时,字体颜色为绿色,为“进行中”时,颜色为黄色。但如果我们想把B列的部分特定文字(如日期)设置成不同的字体和颜色, Excel的条件化格式工具是不能实现的,需要另辟蹊径。
2 实现过程
实现B列单元格中日期字符串的字体设置成“Arial Black”字体,颜色为红色。
2.2 设计思路
Excel的VBA编程功能很强大,可以轻松实现上述目标。程序的设计思路是:找到日期字符串,然后设置字体格式。本例中利用了正则表达式来寻找日期字符串,通过Characters对象的Font属性来设置字符串的格式。
2.3 正则表达式
我们在处理文本时,经常会遇到一些满足某种规则的字符串。比如,一个无符号的整数由一连串的数字构成,本例中的日期是满足“整数-整数-整数”规则的字符串。正则表达式就是用来指定这种规则的。如果某个字符串满足正则表达式指定的规则,则称该字符串为正则表达式的一个“匹配串”。正则表达式中用\d来匹配单个数字,用\d+来匹配连续的多个数字,这样本例中用&\d+-\d+-\d+&就可以匹配日期字符串。Excel的VBA可以通过 引用vbscript中的正则标定式对象&vbscript.regexp&来使用正则表达式。
2.4 Characters函数
语法:Characters(start, length)
参数:Start是指从第几个字符处开始选择,length是要返回的字符数。
返回:Characters对象。用来控件文本中某一范围的字符串。例如,通过Characters对象的Font属性可以设置字符串的字体格式。
2.5程序代码
把FormatClick程序和“更新”按钮的Click事件关联起来,只要点击“更新”按钮就可以更新日期的字体的名称和颜色了。具体程序如下:
Sub FormatClick()
'声明正则表达式对象
Dim RegEx As Object
'引用正则标定式对象
Set RegEx = CreateObject(&vbscript.regexp&)
Word文档免费下载: (下载1-2页,共2页)
EXCEL VBA 正则表达式 从实例开始_计算机软件及应用_IT/计算机_专业资料。'... ' '说明 'Matches 集合中包含若干独立的 Match 对象, 只能使用 RegExp 对象...EXCEL VBA正则表达式学习_计算机软件及应用_IT/计算机_专业资料。VBA 正则表达式1、正则表达式能干什么呢? 你肯定用过 excel 的“查找” 、 “替换”功能。正则...java应用集锦3:正则表达式 excel操作之jxl - Hibernate - Java - JavaEye论坛 欢迎adssa521 收件箱 我的应用 我的博客 设置 退出 首页 Java 新闻 Web 论坛 ...07-Excel VBA 学习总结 - 数据验证与正则表达式_计算机软件及应用_IT/计算机_专业资料。Excel VBA 学习总结 - 数据验证与正则表达式 数据结构有云:程序=数据+...利用正则表达式批量替换代码 在网页制作中,有时需要从 Word 或 Excel 中复制些内容到 DW 中,如表格数据。在 Word 或 Excel 中复制表格时,DW 会自动去除多余的...老师作品 正则表达式学习总结 1---Wpxxsyzx 老师作品 1、 正则表达式能干什么呢? 你肯定用过 excel 的“查找”、“替换”功能。正则表达式也可以对字符串进行特定...JAVA中正则表达式使用介绍_IT/计算机_专业资料。JAVA 中正则表达式使用介绍 一、什么是正则表达式 正则表达式是一种可以用于模式匹配和替换的强有力的工具。 我们...UE中使用正则表达式的一些技巧_IT/计算机_专业资料。UE 正则表达式 说明 ... Excel使用技巧大全(超全... 95页 1下载券 Word查找和替换通配符(完... 8...大于0: 如limit的值为n,那么将对正则表达式使用n-1次,下面的代码: String s = &a0b1c3456&; String ss[] = s.split(&\\d&, 3); for(String str: ...VBA_常用正则表达式_计算机软件及应用_IT/计算机_专业资料。VBA 正则表达式... 07-Excel VBA 学习总结 ... 4页 免费 C#的常用正则表达式 2页 免费 常用...

我要回帖

更多关于 正则表达式在线编写 的文章

 

随机推荐