問題: MySQL 正規表現 (リミッターが機能しない)
P粉684720851
P粉684720851 2024-04-02 23:35:21
0
1
424

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


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

リーリー

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

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

P粉684720851
P粉684720851

全員に返信(1)
P粉242535777

リーリー

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

リーリー

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

リーリー

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

詳細な説明^

    正規表現の
  • の先頭で、^ は処理を先頭に「固定」します。 REGEXP "^x" は「開始」を意味します。 with x"; REGEXP "x" は、"x" が文字列内のどこかにあれば成功します。
  • 「文字セット」の先頭で、
  • ^ は「not」を意味します: REGEXP "x[0-9]" x の後に数字が続くものを検索します' REGEXP "x[^0-9]" の直後にない数字を見つけます。
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート