ホームページ  >  に質問  >  本文

同等の MySQL 正規表現、次の Python 正規表現と同等

Python モード => ^(?=.\bABDUL\b)(?=.\bHAI\b.)(?=.\bMANSOOR\b).* $
同等の mysql スキーマが必要です
助けてもらえますか?

P粉496886646P粉496886646409日前397

全員に返信(1)返信します

  • P粉314915922

    P粉3149159222023-09-08 00:58:02

    質問の正規表現は、単純な単語を一致させる奇妙な方法です。期待される入力が何であるかは明らかではありません。おそらく、インプットによってこのアプローチが正当化される可能性があります。

    リーリー

    これは、先頭が単語ではない任意の文字でなければならず、その後に ABDUL、単語以外の文字、HAI、単語以外の文字、MANSOOR、単語以外の文字、または文字列の終わりが続く必要があることを意味します。

    リーリー

    これは、先頭が数字または英数字ではありません (英数字)、ABDUL、英数字以外の文字、HAI、英数字以外の文字、MANSOOR、英数字以外の文字、または文字列の末尾です。

    まだテストしていませんし、最初のものとまったく同じにするつもりはありませんが、十分近いものになるはずです。

    これを自分のコードにコピーしたい人向け:

    • 最初の文字と一致することは異常であり、元の正規表現のバグである可能性があります。
    • (?=...) は文字を消費しない「先読みアサーション」です。POSIX バージョンにはそれがありませんが、単純な文字列検索では問題にならない可能性があります。
    • どちらのバージョンも !ABDUL$HAI)MANSOOR のような文字列と一致する必要があります。これが希望するものであることを確認してください。

    私が使用する正規表現を理解したい場合は、次のリンクを参照してください:

    https://dev.mysql.com/doc/refman/8.0/en/regexp.html (mysql の POSIX 構文) および https://docs.python.org/ 3/library/re.html (Python 用 PCRE = Perl 互換構文)

    返事
    0
  • キャンセル返事