1. ホーム
  2. regex

[解決済み] 正規表現全体を否定するには?

2022-03-10 09:08:14

質問

次のような正規表現があります。 (ma|(t){1}) . これは mat とは一致せず bla .

正規表現を否定したいので、次のようにマッチする必要があります。 bla であって mat , この正規表現に何かを追加することで . 私は、次のように書くことができることを知っています。 bla しかし、実際の正規表現はもっと複雑です。

どのように解決するのですか?

負のルックアラウンドを使用する。 (?! pattern )

正の見返りは、パターンがマッチすることを主張するために使用することができます。ネガティブ・ルックアラウンドはその逆で、パターンがマッチしないことを表明するために使われます。あるフレーバーはアサーションをサポートし、あるフレーバーはlookbehindに制限をかけるなどしています。

正規表現.infoへのリンク

こちらもご覧ください

その他の例

これらは、おもちゃの問題に対して正規表現で解決しようとする試みです。もしあなたが、ルックアラウンドを使う様々な方法(ネスト、キャプチャに使うなど)を学ぼうとしているならば、これらは教育的であるべきでしょう。