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

問題: MySQL 正規表現 (リミッターが機能しない)

MOD メモ: 削除しないでください/閉じないでください 以前この質問をしましたが、他のユーザーの質問と似ていると思われたため、管理者が質問を閉じました。彼らが私に勧めたスレッドを見てみましたが、そこには私が抱えていたような数値的な問題は含まれていませんでした。このスレッドはどのようにして文字列全体を正規表現と照合するのでしょうか?


私の質問/質問: REGEXP は誤検知を返します。

リーリー

私の読んだところによると、中括弧 {1,4} の部分は、少なくとも 1 回、最大で 4 回出現することを意味します。ただし、上記のことから、[0-9] の範囲は 4 よりも頻繁に表示されますが、クエリは 0 ではなく 1 を返します。スクリーンショットを添付しました。私には何が欠けているのでしょうか?ありがとう。

ワークベンチの例のスクリーンショット

P粉684720851P粉684720851179日前269

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

  • P粉242535777

    P粉2425357772024-04-03 00:54:29

    リーリー

    「アンカーリング」では、文字列全体との一致を要求します。 4 という制限により、上記の操作は失敗します。

    リーリー

    少なくとも数字が許可されるため合格します。

    リーリー

    最後の 2 つは [^0-9] を含み、「0 ~ 9 を除く任意の数値」を意味します。

    詳細な説明^

      正規表現の
    • の先頭で、^ は処理を先頭に「固定」します。 REGEXP "^x" は「開始」を意味します。 with x"; REGEXP "x" は、"x" が文字列内のどこかにあれば成功します。
    • 「文字セット」の先頭で、
    • ^ は「not」を意味します: REGEXP "x[0-9]" x の後に数字が続くものを検索します' REGEXP "x[^0-9]" の直後にない数字を見つけます。
    • 返事
      0
  • キャンセル返事