1

ライトのオン/オフを切り替える 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
4

1 に答える 1

0

これには代替手段を使用する必要があります。

(third bedroom (light|lite)|(light|lite).*third bedroom (?!closet))
于 2013-06-30T08:51:23.677 に答える