enter code here--我试图识别在“a”之后可能附加到端口上的数字。
端口的格式为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,并解释它如何在不打印端口的情况下检查端口,他们将不胜感激。
谢谢
编辑:
只有改变模式才能解决这个问题。这是因为该模式正被放入一个txt文件中,由vba宏从中读取。无法修改vba代码。
发布于 2014-06-17 23:20:13
使用附加数字\.([0-9]+)的捕获子模式展开regex
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 Ifhttps://stackoverflow.com/questions/24274242
复制相似问题