gpt4 book ai didi

regex - 正则表达式 - 如何在匹配中找到匹配?

转载 作者:行者123 更新时间:2023-12-04 10:11:54 24 4
gpt4 key购买 nike

我一直在尝试使用 VBs 正则表达式对象执行以下操作,但找不到一种简单的方法。有没有人可以提供一些建议?

例如,我有一个字符串“12<56>89”,我想在“<>”中获取字符串,在这种情况下应该是“56”。我目前正在做的是尝试找到将返回 <56> 的表达式“<\d+>”。然后我尝试从将返回 56 的第一场比赛的结果中找到表达式“\d+”。

我不喜欢这种方式,因为它需要调用该函数两次。我想知道是否有可能只使用一个正则表达式来获取“<>”中的字符串?谢谢!

谢谢,
艾伦

最佳答案

使用表达式“<(\d+)>”

然后,您可以将所有匹配项作为集合访问。如果您设置 RegEx.Global = True,您的正则表达式可以匹配多次.第一个匹配在 var(0) 中找到,第二个在 var(1) 中。子匹配组可以在 var(0).SubMatches(0) 等处找到。如果你只做一次,你可以一行:

Dim RegEx : Set RegEx = New RegExp
RegEx.Pattern = "<(\d+)>"
Dim strTemp : strTemp = "12<56>89"
WScript.Echo RegEx.Execute(strTemp)(0).SubMatches(0)

在这里测试您的正则表达式:
http://www.regular-expressions.info/vbscriptexample.html

关于regex - 正则表达式 - 如何在匹配中找到匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4951872/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com