sách gpt4 ai đã đi

Đánh giá về biểu thức chính quy trong VBA?

In lại 作者:行者123 更新时间:2023-12-03 22:33:15 26 4
mua khóa gpt4 Nike

有没有办法在 VBA 正则表达式中进行负面和正面回顾?

如果字符串以“A”开头,我想不匹配,所以我目前在模式的开头执行 ^A,然后删除 match(0) 的第一个字符。显然不是最好的方法!

我正在使用 regExp 对象。

1 Câu trả lời

VBA 提供正面和负面的前瞻,但不一致地不后视。

我见过的将 Regex 与 VBA 结合使用的最佳示例是 bài viết này通过帕特里克马修斯

[使用 Execute 更新示例而不是 Replace ]

虽然我不完全清楚你的用法,但你可以使用这样的函数

  • 跳过任何以 A 开头的单词
  • 对于所有不以 a 开头的单词,它返回从第二个字符开始的所有内容(使用子匹配 - () 中的模式是子匹配 1 -
    Sub TestString()
    MsgBox ReducedText("cfat dcat")
    MsgBox ReducedText("Sat all over the hat again")
    End Sub


    Function ReducedText(strIn As String) As String
    Dim objRegex As Object
    Dim objRegMC As Object
    Dim objRegM As Object
    Dim strOut As String
    Set objRegex = CreateObject("vbscript.regexp")
    With objRegex
    .IgnoreCase = True
    'not needed if matching the whole string
    .Global = True
    .Pattern = "\b[^a\s]([a-z]+)"
    If .test(strIn) Then
    Set objRegMC = .Execute(strIn)
    For Each objRegM In objRegMC
    strOut = strOut & objRegM.submatches(0) & vbNewLine
    Next
    ReducedText = strOut
    Else
    ReducedText = "Starts with A"
    End If
    End With
    End Function
  • 关于regex - 回顾 VBA 的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9150552/

    26 4 0
    行者123
    Hồ sơ cá nhân

    Tôi là một lập trình viên xuất sắc, rất giỏi!

    Nhận phiếu giảm giá Didi Taxi miễn phí
    Mã giảm giá Didi Taxi
    Giấy chứng nhận ICP Bắc Kinh số 000000
    Hợp tác quảng cáo: 1813099741@qq.com 6ren.com