精华内容
下载资源
问答
  • excel正则

    2019-09-11 19:25:59
    预设 alt+F11,工具->引用,找到Microsoft VBScript Regular Expressions 5.5启用 如何初始化正则对象 Dim regx As New RegExp 示例1:根据指定的pattern返货匹配结果 这里抄下这未兄弟的代码 http://sta...

    预设

    alt+F11,工具->引用,找到Microsoft VBScript Regular Expressions 5.5启用

    如何初始化正则对象

    Dim regx As New RegExp
    

    示例1:根据指定的pattern返货匹配结果

    这里抄下这未兄弟的代码 http://stackoverflow.com/a/43128681,增加了一个分组选项。 这个函数可以接收两个参数,文本单元格和pattern单元格,以及一个可选参数,返回第一个匹配的结果,如果没有匹配,则返回not mattched。第三个参数是为了应对分组情况

    Function RegxFunc(strInput As String, regexPattern As String, Optional ByVal sub_match As Integer = 0) As String
        Dim regEx As New RegExp
        With regEx
            .Global = True
            .MultiLine = True
            .IgnoreCase = False
            .Pattern = regexPattern
        End With
    
        If regEx.Test(strInput) Then
            Set matches = regEx.Execute(strInput)
            If sub_match = 0 Then    '如果没有启用分组,则直接返回匹配内容
                RegxFunc = matches(0).Value        
            Else    '如果启用了分组
                RegxFunc = matches(0).submatches(0)
            End If
        Else
            RegxFunc = "not matched"
        End If
    End Function
    
    

    oschina好像没办法识别vb的注释,下面上演示下上面的公式的效果 正则演示

    待续

    转载于:https://my.oschina.net/mhyes/blog/890197

    展开全文
  • EXCEL 正则表达式

    2019-05-05 11:03:24
    EXCEL 正则表达式的应用, 打开此文档即可使用自定义函数: getstr(要匹配单元格,正则表达式) 详见: https://blog.csdn.net/qq_25846269/article/details/85237800
  • 本VBA模块是实现“正则表达式”功能的自定义函数模块,各自定义函数在公式向导窗口均有功能及参数说明,方便、易用;在VBA集成环境导入本模块文件后便可使用。
  • excel正则模板

    2018-11-12 14:17:00
    Private Sub RegExp_Replace() Dim RegExp As Object Dim SearchRange As Range, ...'此处定义正则表达式 Set RegExp = CreateObject("vbscript.regexp") RegExp.Pattern = "[0-9]{5}" '此...
        

    Private Sub RegExp_Replace()

    Dim RegExp As Object
    Dim SearchRange As Range, Cell As Range
    
    '此处定义正则表达式
    Set RegExp = CreateObject("vbscript.regexp")
    RegExp.Pattern = "[0-9]{5}"
     
    '此处指定查找范围
    Set SearchRange = ActiveSheet.Range("A1:A99")
    
    '遍历查找范围内的单元格
    For Each Cell In SearchRange
        Set Matches = RegExp.Execute(Cell.Value)
        If Matches.Count >= 1 Then
            Set Match = Matches(0)
            Cell.Value = RegExp.Replace(Cell.Value, "")
        End If
    Next
    

    End Sub

    展开全文
  • Excel正则表达式提取

    2020-06-27 21:14:53
    自定义函数-正则表达式: Function TQ(rng, types As String) As String Dim obj As Object Set obj = CreateObject(“VBSCRIPT.REGEXP”) With obj .Global = True Select Case types Case Is = “-hz” '去汉字 ....

    自定义函数-正则表达式:
    Function TQ(rng, types As String) As String
    Dim obj As Object
    Set obj = CreateObject(“VBSCRIPT.REGEXP”)
    With obj
    .Global = True
    Select Case types
    Case Is = “-hz” '去汉字
    .Pattern = “[一-﨩]”
    Case Is = “-zm” '去字母
    .Pattern = “[a-zA-Z]”
    Case Is = “-sz” '去数字
    .Pattern = “[0-9.]”
    Case Is = “+hz” '取汉字
    .Pattern = “[^一-﨩]”
    Case Is = “+zm” '取字母
    .Pattern = “[^a-zA-Z]”
    Case Is = “+sz” '取数字
    .Pattern = “[^0-9.]”
    End Select
    TQ = .Replace(rng, “”)
    End
    WithEnd Function

    展开全文
  • Excel正则表达式

    2013-02-05 10:11:03
    excel常用正则表达式 来源: 李刚的日志 正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。 匹配中文字符的正则表达式: [ \U4E00-\U9FA5 ] (字母...

    excel常用正则表达式

    来源: 李刚的日志


    正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。

    匹配中文字符的正则表达式: [ \U4E00-\U9FA5 ] (字母应全是小写,这里大写是因为这个代码网易博客显示乱码)
    评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
    匹配双字节字符(包括汉字在内):[^\x00-\xff]
    评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
    匹配空白行的正则表达式:\n\s*\r
    评注:可以用来删除空白行
    匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\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,}
    评注:腾讯QQ号从10000开始
    匹配中国邮政编码:[1-9]\d{5}(?!\d)
    评注:中国邮政编码为6位数字
    匹配身份证:\d{15}|\d{18}
    评注:中国的身份证为15位或18位
    匹配ip地址:\d+\.\d+\.\d+\.\d+
    评注:提取ip地址时有用
    匹配特定数字:
    ^[1-9]\d*$    //匹配正整数
    ^-[1-9]\d*$   //匹配负整数
    ^-?[1-9]\d*$   //匹配整数
    ^[1-9]\d*|0$  //匹配非负整数(正整数 + 0)
    ^-[1-9]\d*|0$   //匹配非正整数(负整数 + 0)
    ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$   //匹配正浮点数
    ^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$  //匹配负浮点数
    ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$  //匹配浮点数
    ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$   //匹配非负浮点数(正浮点数 + 0)
    ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$  //匹配非正浮点数(负浮点数 + 0)
    评注:处理大量数据时有用,具体应用时注意修正
    匹配特定字符串:
    ^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
    ^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
    ^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
    ^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
    ^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

    展开全文
  • excel 正则匹配替换

    2019-07-11 14:08:45
    Private Sub RegExp_Replace() Dim RegExp As Object Dim SearchRange As Range, Cell As Range ... '此处定义正则表达式 Set RegExp = CreateObject("vbscript.regexp") RegExp.Pattern = "^([2]{1})$...
  • Excel 正则表达式提取值

    万次阅读 2017-04-19 22:58:52
    快捷键 Alt +F11 打开代码视图代码:Function GetStr(rng As Range) With CreateObject("VBscript.regexp") .Global = True .Pattern = "\d+\*\d+\+{0,1}\d{0,}" '表达式 If .Execute(rng).Count = 0 Th
  • 本VBA模块是实现“正则表达式”功能的自定义函数模块,各自定义函数在公式向导窗口均有功能及参数说明,方便、易用;在VBA集成环境导入本模块文件后便可使用。
  • EXCEL 正则表达式例子

    千次阅读 2010-04-19 00:01:00
    Private Sub CommandButton1_Click() Dim regEx As RegExp Dim aMatch As Match Dim Matches As MatchCollection Dim patrn As String 搜索模式 Dim strng As String Dim RetStr As
  • Excel 正则表达式 VB 提取字符串

    千次阅读 2016-09-28 11:25:44
    打开Excel,ALT+F11 打开VB 在sheet1 右键 新建模块 贴入代码: Function zz(rng As Range) Dim reg As Object Set reg = CreateObject("VBScript.RegExp") With reg .Global = True .Pattern = "biz=
  • EXCEL 使用正则表达式

    万次阅读 2018-12-24 20:03:09
    https://blog.csdn.net/laoyebin/article/details/5377857(EXCEL里常用的几个正则表达式) https://blog.csdn.net/catoop/article/details/70247105(Excel 正则表达式提取值) 今天一个朋友让我帮忙将一组 ...
  • EXCEL中用正则表达式

    2010-05-14 14:26:23
    需要EXCEL中用正则表达式的朋友加快脚步吧!
  • 资源包括ExcelAPI的文件,同时介绍了如何添加API,以及如何使用正则表达式。
  • Excel使用正则表达式

    2019-03-15 14:47:00
    1、使用正则表达式提取子字符串 Function GetStr(ran As range, pattern As String) With CreateObject("VBScript.regexp") .Global = True .IgnoreCase = True .pattern = pattern ...
  • excel使用正则表达式

    2015-07-04 11:02:33
    excel文件格式:需求:用正则表达式提取D列的***,写到E列中步骤:1.打开excel中的vb编辑器,点击“文件”--“选项”--“自定义功能区”,勾选“开发工具”2.点击确定后,按Ctrl+F11打开vb窗口,点击查看代码,打开...
  • EXCEL VBA 正则表达式 MatchCollection对象

    千次阅读 2016-12-03 23:07:55
    1.正则表达式(Regular Expression)基础  正则表达式是通用的文本搜索和处理方案,它的知识不是VBA独有的,基本上每种语言都内置了正则表达式的功能。正则表达式的基础知识不是这里的重点,需要的朋友可以Google一下...
  • EXCEL VBA 正则表达式 从实例开始 所有代码都测试过 ' ' '[2011-09-09 '[2010-08-08 ' 数据验证经常出现的情况是需要验证和处理大量的文本 内容 有时候需要查找字符串 有时候要按条件替换 并且这些待处理的问题还是...
  • 正则表达式对于VBA的用户比较陌生,但比较实用,上传给大家分享一下
  • EXCEL VBA 正则表达式

    万次阅读 2017-07-06 16:15:09
     正则表达式是通用的文本搜索和处理方案,它的知识不是VBA独有的,基本上每种语言都内置了正则表达式的功能。正则表达式的基础知识不是这里的重点,需要的朋友可以Google一下,或者参看下面的一些入门教程: ...
  • EXCEL利用正则匹配去替换内容

    千次阅读 2019-03-02 15:21:33
    做项目过程中需要对某一列字段进行添加“【】”将字段包裹起来,因此上网查了EXCEL正则匹配如何使用,在此记录一下,防止忘记。 打开文件一定要选择EXCEL打开,WPS目前没有发现该功能(平时使用也很少)。下面...
  • I have several cells in my sheet which contain an ISIN.Here is an example of an ISIN: DE0006231004I have created a regular expression which matches the ISIN:^[a-zA-Z]{2}[0-9]{10}$I want to match this ...
  • 小小明,「凹凸数据」专栏作者,Pandas数据处理专家,致力于帮助无数数据从业者解决数据处理难题。凹凸们,大家好我们都知道Pandas里支持正则替换比较舒服,但是Excel却没有一个可以...
  • excel实现正则一一匹配功能

    千次阅读 2015-06-30 10:14:40
    Function RegExpTest(patrn, col, tocol) Dim regex, myrange, i, c, matches, match, str ' 建立变量。...Set regex = CreateObject("vbscript.regexp") ' 建立正则表达式。 regex.Pattern = patrn ' 设置模式。 reg
  • 转自:http://www.pinlue.com/article/2019/03/2011/428277543311.html
  • Pandas里支持正则替换比较舒服,但是Excel却没有一个可以支持正则的函数,但是借助VBA我们就可以在Excel实现正则的抽取、搜索和替换。 先看看效果吧: 正则抽取 对于一列数据: 中楼层(共9层)|2007年建|1室1厅|24.78...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,037
精华内容 8,014
关键字:

excel正则