指定されたサフィックスで終わらない文字列の正規表現 質問する

指定されたサフィックスで終わらない文字列の正規表現 質問する

ある条件で終わらない文字列に一致する適切な正規表現を見つけることができませんでした。たとえば、 で終わる文字列に一致したくありませんa

これは一致する

b
ab
1

これは一致しません

a
ba

正規表現は$終了を示すために で終わる必要があることはわかっていますが、その前に何を置くべきかはわかりません。

編集: 元の質問は、私のケースの正当な例ではないようです。それでは、複数の文字をどのように処理しますか? で終わらないものを言ってくださいab

私はこれを修正することができました。このスレッド:

.*(?:(?!ab).).$

ただし、この方法の欠点は、1 文字の文字列と一致しないことです。

ベストアンサー1

言語は教えてもらえないが、正規表現のフレーバーがサポートされていれば主張の背後を見る必要なものは次のとおりです:

.*(?<!a)$

(?<!a)文字列 (または修飾子付きの行) の末尾の前にm文字 "a" が存在しないことを確認する否定の後読みアサーションです。

見るRegexrはこちら

これは文字列のチェックであり、文字クラスではないため、他の文字を使用して簡単に拡張することもできます。

.*(?<!ab)$

これは「ab」で終わらないものに一致します。Regexrで見る

おすすめ記事