特定单词前模式的正则表达式
regex for pattern before a certain word
我在寻找正确的 RegEx 来识别某个词之前的词(但没有后一个词)时遇到问题。下面是模式,其中 W1 是动态分配的字。
Set regExp = New RegExp
With regExp
.Pattern = "\S* " + W1
.IgnoreCase = True
.Global = True
这个模式有效,但我得到了整个模式。如果我有这样的句子:"Today is a sunny day" 并且 W1 被设置为 "day",这个模式给了我 "sunny day".
我想要阳光明媚,没有 W1。这可能吗?
谢谢,m
将 W1
放入 positive lookahead assertion.
.Pattern = "\S+(?= *" + W1 + ")"
我在寻找正确的 RegEx 来识别某个词之前的词(但没有后一个词)时遇到问题。下面是模式,其中 W1 是动态分配的字。
Set regExp = New RegExp
With regExp
.Pattern = "\S* " + W1
.IgnoreCase = True
.Global = True
这个模式有效,但我得到了整个模式。如果我有这样的句子:"Today is a sunny day" 并且 W1 被设置为 "day",这个模式给了我 "sunny day".
我想要阳光明媚,没有 W1。这可能吗?
谢谢,m
将 W1
放入 positive lookahead assertion.
.Pattern = "\S+(?= *" + W1 + ")"