我被一个正则表达式问题难住了。我一直在将它们用于一个项目并且它们一直在完美地工作,但后来我遇到了一种情况,我认为可以通过积极的前瞻性来解决,但我的尝试并没有达到我的预期。
为了说明,我在下面画了一条线。其中,我想返回两个匹配项,第一个包含“This”和“thisThing”,另一个包含“That”和“thatThing”,其中第一个值只能是“This”或“That” " 并且第二个值可以是任何 (\w*) 模式。
adsf(49) asd k:38* K.This(jfkael dk&$% thisThing) and K.That($$$$ djaf aj_dfj^^ ^ thatThing);
我认为这将是这样的:
K\.(This|That) (????????????????) (\w*)(?=\))
意思是,找到出现在“K”之后的“This”或“That”。然后得到“)”之前的第一个单词。但是,我真的不明白我如何指定(向前看,直到找到“)”,然后回溯,直到你得到它背后的单词。这样的事情可能吗?