word中自带正则表达式,不过Excel中却没有内置。可以在VBA中定义一个正则表达式函数,然后Excel中就可以调用了。VBA代码如下(VBA高亮无效,凑合着看):

1.Function ExStr(Str As String, Parttern As String, ActionID As Integer, Optional RepStr As String = "")

2. Dim regex As Object

3. Set regex = CreateObject("vbscript.regexp")

4. With regex

5. .Global = True

6. .IgnoreCase = True

7. .MultiLine = True

8. .Pattern = Parttern

9. End With

10. Select Case ActionID

11. Case 1: '替换

12. ExStr = regex.Replace(Str, RepStr)

13. Case 2: '判断

14. ExStr = regex.test(Str)

15. Case 3: '提取

16. Dim matches As Object

17. Set matches = regex.Execute(Str)

18. For Each Match In matches

19. ExStr = ExStr & Match.Value

20. Next

21. End Select

22.End Function

'正则表达式 V2

'增加:完善注释

'函数ExStr功能,根据正则表达式,替换或判断或提取字符串

'参数 str 源字符串

'参数 Parttern 正则表达式字符串

'参数 ActionID

'函数功能

'1正则方法一,替换符合正则表达式的字符,可选参数RepStr为替换值

'2正则方法二 判断是否有符合正则表达式,有返回“TRUE”,无返回“FALSE”

'3正则方法三,提取符合正则表达式的字符

'参数 Repstr 指定替换的字符,可选项,默认为空

'附常用几个正则表达式

'第二个参数Parttern为正则表达式,按规则使用即可。使用该函数会自动得到匹配结果

'例如,要提取4位数,如下调用即可:=exStr(A1,"\d{4}",3)

'替换:=ExStr(B2,"\d{4}",1,"0713")

'判断:=ExStr(C2,"\d{4}",2)

'匹配4位数 \d{4}

'

'匹配中文字符 [\u4e00-\u9fa5]

'匹配双字节字符(包括汉字在内):[^\x00-\xff]

'匹配空白行的正则表达式:\n\s*\r

'匹配HTML标记的正则表达式:]*>.*?\1>|<.>

'匹配首尾空白字符的正则表达式:^\s*|\s*$ 可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式

'匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

'匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*

'匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

'匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7} 匹配形式如 0511-4405222 或 021-87888822

'匹配腾讯QQ号:[1-9][0-9]{4,}

'匹配中国邮政编码:[1-9]\d{5}(?!\d)

'匹配身份证:\d{15}|\d{18}

'匹配ip地址:\d+\.\d+\.\d+\.\d+

excel中用正则匹配_excel 中如何使用正则表达式函数提取或替换内容相关推荐

  1. excel中用正则匹配_excel 利用正则表达式匹配工作表中的数据

    excel 利用正则表达式匹配工作表中的数据 sheet1中A列放需要匹配的数据 sheet2中A列放正则表达式,可以是多个,但至少一个 匹配到了则在sheet1中C列对应行显示相关标记内容,比如本案 ...

  2. excel中用正则匹配_Excel利用正则表达式匹配和替换内容

    近期使用Excel比较多,有一些匹配和替换的内容.平常涉及的比较简单,也就使用If或者VLOOKUP之类的函数.这次使用到正则表达式和VBA,在此记录一下,以防忘记. 打开文件一定要选择EXCEL打开 ...

  3. php 正则获取某个div,php正则匹配html中带class的div并选取其中内容的方法

    本文实例讲述了php正则匹配html中带class的div并选取其中内容的方法..具体分析如下: 先看一段html代码: 代码如下: 潮汐表数据仅供参考 潮时 (Hrs) 00:58 05:20 13 ...

  4. php正则匹配js中变量_PHP正则表达式核心技术 第4节 php查找匹配函数使用心得

    作者:极客小俊 一个专注于web技术的80后 你不用拼过聪明人,你只需要拼过那些懒人 你就一定会超越大部分人! php中兼容Perl的正则表达式处理函数 在我们说php系统自带的正则处理函数之前,我们 ...

  5. php正则匹配js中变量_PHP正则表达式核心技术完全详解 第12节 [附加知识] 断言匹配...

    作者:极客小俊 一个专注于web技术的80后 我不用拼过聪明人,我只需要拼过那些懒人 我就一定会超越大部分人! 极客小俊@知乎,官方首发原创文章 博客: 极客小俊GeekerJun PHP正则中的断言 ...

  6. EXCEL利用正则匹配去替换内容

    做项目过程中需要对某一列字段进行添加"[]"将字段包裹起来,因此上网查了EXCEL的正则匹配如何使用,在此记录一下,防止忘记. 打开文件一定要选择EXCEL打开,WPS目前没有发现 ...

  7. php文章远程图片,php保存远程图片到本地 php正则匹配文章中的远程图片地址

    在添加文章的时候,很多情况下我们需要处理文章中的远程图片,将其保存到本地,以免别人网站删除后文章里面就无法访问了. 因此我们需要正则匹配文章中的图片地址, 这里我们使用php的正则表达式来实现:$co ...

  8. 中文字符匹配java_java正则匹配HTML中a标签里的中文字符示例

    java正则匹配HTML中a标签里的中文字符示例 发布于 2020-8-12| 复制链接 摘记: 本文实例讲述了java正则匹配HTML中a标签里的中文字符.分享给大家供大家参考,具体如下:今天群里一 ...

  9. 正则匹配文本中的括号

    正则匹配文本中的括号 记录一下如何用正则匹配文本中的() [] {} ()的匹配 ()进行匹配时都前后都需要进行转义 String demo2 = "abcd394de (fsd) cost ...

最新文章

  1. Redis 高负载排查记录
  2. HDU - 6393 Traffic Network in Numazu(线段树+LCA+树链剖分+并查集)
  3. linux cpio(copy in/out) 命令详解
  4. Arrays.asList 使用细节
  5. 零基础学启发式算法(1)-贪心算法(Greedy Algorithm)
  6. 16qam星座图 matlab,16qam星形和矩形星座图调制解调matlab代码.doc
  7. 学生成绩管理系统测试用例C语言,学生成绩管理系统测试用例.docx
  8. 数学建模遗传算法Matlab
  9. 斯坦福计算机科学博士研究方向,美国人工智能专业Top10名校推荐
  10. 写给15岁的女儿-乐嘉
  11. 显微镜下的大明——第三个故事
  12. Vue实现动态路由导航
  13. 学习Java第十九天(一):1、Java中的网络编程
  14. 如何将PDF转换Word?微信如何转换PDF文件?
  15. DeepMind 解决蛋白质结构预测难题
  16. 将A1B2C3D4E5F6G7H8拆分开来,并分别存入int[]和String[]数组,得到的结果为[1,2,3,4,5,6,7,8]和[A,B,C,D,E,F,G,H],
  17. 全球最大成人网站公布年度榜单!原来lsp最爱看的是这种片……
  18. 戴尔 PowerEdge 14G 加速分布式存储解决方案 zData 提升性能
  19. 常见音视频的编码方式和封装格式
  20. 短线买入股票的原则与时机

热门文章

  1. Two classes have the same XML type name 排错
  2. 最新大数据产业生态地图:十大爆发点,百大公司起底
  3. Linux中静态库和动态库(共享库)的区别
  4. js计算时间差,包括计算,天,时,分,秒
  5. nonlocal和global的区别
  6. Application应用程序
  7. Java引用包的方法
  8. linux 五种 IO 模型
  9. K_A07_003 基于 STM32等单片机驱动DRV8825模块按键控制步进电机正反转
  10. 【MDCC 2016】iOS开发峰会回顾:实战Coding演示 技术大牛带你起飞