vbscript正则表达式使用前面的负面向前处理另一个单词之后的OR处理单词

时间:2013-06-30 05:36:46

标签: regex vbscript conditional negative-lookahead

我在vbscript中有下面的模式来打开/关闭我的灯。它捕获了案例"turn on the third bedroom light."但是,是否有一种优雅的方法可以使用一体化模式捕获案例"turn on the light in the third bedroom"

我知道我可以在单独的模式中分离(light|lite)个案并使用条件逻辑,但我正在寻找一个优雅的模式,因为我还在学习正则表达式。

请记住,无论哪种模式还必须排除案例"third bedroom closet",如下图所示。另请注意,vbscript不支持负面看(我认为)。

oRegExp.Pattern = "(third).(bedroom (?!closet)).*(light|lite)"
if oRegExp.Test(sVoice) then gProcessLight home.ThirdBedroom.Light,vPropValue

1 个答案:

答案 0 :(得分:0)

你必须使用替代品:

(third bedroom (light|lite)|(light|lite).*third bedroom (?!closet))