私は何かを知っていると思っていました。 私がしようとしているのは、マルチストリングネガティブな先読みですか?それは事ですか? 基本的には、3番目の文字列が存在するのは見つかっていますが、2つの前駆文字列は存在しません。RegEx .NETの一致文字列Cここで文字列AまたはBは存在しません
(?i:<!((yellow thing)\s(w+\s+){0,20}(blue thing))\s(\w+\s+){0,100}(green thing))
対象文字列:
- ここでは、黄色のものを持っています。ここには青いものがあります。明らかに緑色のものは最高です。 (一致しないでください)
- 死の棒を購入したいですか?私は緑のものを持っています。 (MATCH)
- 私たちは黄色い物の潜水艦にいるのですか?そこの緑色のものを見てください! (MATCH)
あなたは後読みを台無しにし、インライン修飾子を持つオプショングループにそれを回しました。黄色の物\ W *(\ w + \ W +){0,20} \ W *青い物\ W *(\ w + \ W +){0,100})緑の物を試してください。ワード境界は単語全体にマッチするように「もの」の周りに追加することができます。 –