正则表达式模式不完全存在

标签 regex excel vba

正则表达式新手

我的第 1 行单元格如下:

This That Other [Stuff I want to Keep]

我要

Suff I want to Keep

该模式给出

[Stuff I want to Keep]

我不知道如何去掉括号,即 []

我可以用 vba 做到这一点,但尝试一些新的东西

谢谢

Sub Test()
Dim ws As Worksheet
Dim R As Range, Rng As Range
Dim i As Long, LC As Long

    Set ws = ThisWorkbook.Sheets("RegistrationData_Prepped")
    LC = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column
    Set Rng = ws.Range("A1").Resize(1, LC)

        With CreateObject("VBScript.RegExp")
          .Pattern = "\[([^\]]+)\]"

        For Each R In Rng
                If .Test(R.Value) Then
                    R(, 3) = .Execute(R)(0)
                End If
        Next
    End With
End Sub

最佳答案

.Execute(R)(0) 是整个匹配,要查找子匹配,您需要调用 .SubMatches 属性,即。 .Execute(R)(0).SubMatches(0)

关于正则表达式模式不完全存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28118950/

相关文章:

regex - 使用 Perl 6 进行批量文本处理

regex - 迭代 apache 2 日志文件名并使用 linux bash 比较数字

excel - 如何将 Reporting Services 报表导出为 Excel,并在 Excel 列中嵌入计算?

Excel/VBA : Adding a title to doughnut chart reduces size of doughnut

excel - 选择标题下具有值的所有单元格

excel - 如何从 Outlook 宏发送 Excel 图表

javascript - 使用变量创建正则表达式模式以替换点

VBA 评估功能不起作用。错误2015

excel - Sub App_WorkbookBeforeSave 不适用于 VBA 加载项/Excel 2010

java - Matcher.group 抛出 IndexOutOfBoundsException 异常