zoukankan      html  css  js  c++  java
  • excel VBA构造正则函数(双参数)

    Function zhengze(ze As String, Rng As Range)
        Set regx = CreateObject("vbscript.regexp")

    With regx

      .Global = True

      .Pattern = ze '写正则表达式
      Set mat = .Execute(Rng)
      For Each mg In mat
         If .test(Rng) Then
            zhengze = mg
         Else
            zhengze = 0
      'Set mat = .Execute(value)

     
          

          'cells 单元格 读取单元格内容,将内容写入单元格,将变量rg的值输入到c列的n行

        End If
       Next

    End With
    End Function

    ------------------------------------------------------------------------------------------------------------------------------------

    if外置,无匹配值则返回空值,单引号后为注释内容,可忽略

    -------------------------------------------------------------------------------------------------------------------------------------

    Function zhengze(ze As String, Rng As Range)
        Set regx = CreateObject("vbscript.regexp")
        

    With regx

      .Global = True

      .Pattern = ze '写正则表达式
      Set mat = .Execute(Rng)
      If .test(Rng) Then '无匹配值则为空
        
        For Each mg In mat
          'If .test(Rng) Then
            zhengze = mg
         
      'Set mat = .Execute(value)


          'cells 单元格 读取单元格内容,将内容写入单元格,将变量rg的值输入到c列的n行

         'End If
        Next
       Else
         zhengze = " "
       End If
    End With
    End Function

    ------------------------------------------------------------------------------------------------------------------------------------

    匹配结果多个时,合并显示

    ==================================================================================

    Function zhengze(ze As String, Rng As Range)
        Set regx = CreateObject("vbscript.regexp")
        

    With regx

      .Global = True

      .Pattern = ze '写正则表达式
      Set mat = .Execute(Rng)
      If .test(Rng) Then '无匹配值则为空|匹配成功执行循环
        Dim m As String
        If mat.Count > 1 Then   '为多个匹配结果则合并显示,否则显示当前值
          For Each mg In mat
          
            m = m & mg & "|"    '循环并合并匹配结果
              
          Next
          zhengze = m
        Else
          zhengze = mat(0).value    '参数存储是一个列表形式,不能直接=号取值,必须用列表固有取值方式
        End If
          
          
       Else
         zhengze = " "
       End If
    End With
    End Function

    红尘往事,一切随风!
  • 相关阅读:
    poj 2488 A Knight's Journey( dfs )
    poj 2676 Sudoku ( dfs )
    poj 3087 Shuffle'm Up ( map 模拟 )
    poj 1426 Find The Multiple( bfs )
    poj 3126 Prime Path( bfs + 素数)
    Atcoder ARC-063
    Atcoder ARC-062
    Atcoder ARC-061
    Atcoder ARC-060
    Atcoder ARC-058
  • 原文地址:https://www.cnblogs.com/xwenwu/p/11760016.html
Copyright © 2011-2022 走看看