私はこの正規表現^([^i]|i(?!s OK))+\.$
を2行下で試しました。負のルックアヘッドに失敗しました
1. /tmp/tmp.oW75zGUh4S ... is O.
2. /tmp/tmp.oW75zGUh4S ... is OK.
この正規表現は、最初の正規表現と一致すると思われますが、2番目の正規表現は一致しません。それは誰にもマッチしません。どうして?
私が肯定的な先読み^([^i]|i(?=s OK))+\.$
を使用すると、最初のものではなく2番目のものと一致し、それが予想される動作です。
マッチングのルールは何ですか? –
ここにあります。しかし、それはあなたが '^。*(?<!OKです。)$'をしたいと思うように見えます、少なくとも、私はそれがより読みやすく、さらにバックトレースで簡単だと思います。 – Wrikken
例:https://regex101.com/r/vA6tY8/1 – Wrikken