Regex 用于否定的VBA正则表达式
我面临一个正则表达式的问题 我试图得到后面不跟厘米或英寸的数字,如下例所示:Regex 用于否定的VBA正则表达式,regex,regex-negation,regex-lookarounds,regex-group,regex-greedy,Regex,Regex Negation,Regex Lookarounds,Regex Group,Regex Greedy,我面临一个正则表达式的问题 我试图得到后面不跟厘米或英寸的数字,如下例所示: 30.5 XXL高度175.5 cm-该值应仅返回30.5,因为175.5已附加“cm” 34英寸XL 54-这应该只返回54英寸,因为34英寸 如何使用正则表达式执行此操作?使用负前瞻(?!) 正则表达式: 详情: (?=)正向前瞻 (?:)非捕获组 (?!)消极前瞻 |或 $在行尾断言位置 VBA代码: Set re = CreateObject("VBScript.RegExp") re.Global = T
30.5 XXL高度175.5 cm
-该值应仅返回30.5,因为175.5已附加“cm”34英寸XL 54
-这应该只返回54英寸,因为34英寸如何使用正则表达式执行此操作?使用负前瞻
(?!)
正则表达式:
详情:
正向前瞻(?=)
非捕获组(?:)
消极前瞻(?!)
或|
在行尾断言位置$
Set re = CreateObject("VBScript.RegExp")
re.Global = True
re.Pattern = "\d+(?:\.\d+)?(?=(?: (?!cm|inches)|$))"
For Each Match In re.Execute("30.5 XXL Height 175.5 cm")
Debug.Print (Match)
Next
输出:
30.5
非常感谢你(约万:)花时间帮助我。