enter code here
我试图识别可能附加到端口后的数字" "
端口的格式为ge-#/#/#(可以是ge-0/0/n其中0 <= n <=23,也可以是ge-0/1/m其中0 <= m <= 3)
的例子:
ge-0/0/10.2014
结果应为"2014&"
目前,我使用以下RegEx来标识端口:
bge-0/(0/([01]?[0-9]|2[0-3])|1/[0-3])b
我的问题是为端口创建检查,但只打印它之后的内容。我尝试简单地开始,然后扔进端口代码,结果很糟糕。如果有人可以帮助创建我正在寻找的RegEx,并解释它如何检查端口而不打印它,他们将非常感激。
感谢编辑:
只有改变模式才能解决这个问题。这是因为模式被放入将由vba宏读取的txt文件中。vba代码不可修改
用捕获额外数字.([0-9]+)
的子模式展开正则表达式:
Dim regEx As New VBScript_RegExp_55.RegExp
regEx.Pattern = "bge-0/(0/([01]?[0-9]|2[0-3])|1/[0-3]).([0-9]+)b"
使用SubMatches
检索子模式;参考索引2,因为在正则表达式中前面有两对括号。
Dim source, matches, result
Set source = "ge-0/0/10.2014"
If regEx.test(source) Then
Set matches = regEx.Execute(source)
Set result = matches(0).SubMatches(2)
End If