奇妙なことに、私はMySQLの正規表現の角括弧内のリテラルとして安全に使用できない文字のリストをどこかに見つけることができません。[:character_class:]
もの。MySQL正規表現の角括弧のメタ文字のリスト
(MySQLの正規表現はPerl/PHP/Javascriptなどと比較して不足していると思われるため、答えはおそらくMySQL固有のものである必要があります)。
奇妙なことに、私はMySQLの正規表現の角括弧内のリテラルとして安全に使用できない文字のリストをどこかに見つけることができません。[:character_class:]
もの。MySQL正規表現の角括弧のメタ文字のリスト
(MySQLの正規表現はPerl/PHP/Javascriptなどと比較して不足していると思われるため、答えはおそらくMySQL固有のものである必要があります)。
(ドット.
含め、+
、*
と?
数量、終了の文字列アンカー$
、など)ほとんどすべてのメタ文字は、いくつかの注目すべき例外を除いて、文字クラス内で特別な意味を持ちません。
^
、用 ]
は、(例えば:[^ab]
は、任意の文字に一致しますが、a
およびb
)。-
、(例えば:[0-9]
マッチ任意の数字)文字クラス内の戦略的な場所に配置されている場合しかし、これらはまだ逃げることなく添加することができる。
[]a]
は[
またはa
と一致します。[a^]
マッチ^
またはa
[-a]
と[a-]
の両方が一致a
および-
。詳しい情報はPOSIX regex
にmanページで見つけることができthe documentationから
、右上部付近(おかげでTomalak Geret'kal!):
このセクションでは、例を用いて、まとめたもので、 REGEXP操作のためにMySQLで使用できる特殊文字と 構造体です。 には、Henry Spencerの regex(7)マニュアルページのすべての詳細が含まれていません。このマニュアルページはMySQLソース ディストリビューションに含まれています。regex.7ファイルのregexディレクトリにあります。
上記のマンページは、here(thanks、Google!)のコピーにあります。あなたが探している情報はそこにあります。
ありがとうございますが、正規表現の特殊文字のためのものです。私が信じている角括弧の中のものとは異なるセットです。 – spiderplant0
@ spiderplant0:はい? '[..]'は正規表現構文の一部であり、その規則についていくつかの段落があります。セマンティクスはそれよりも複雑なので、単純なリストはありません。もう一度リンクしたmanページを読んで、今度は3分以上かかるようにしてください。 –
@ NullUserExceptionఠ_ఠ:リンクしているマニュアルページは、そのトピックに関する_all_情報の信頼できるソースです。それは完全に質問に答えるものです。 –
これはどうやって間違っていますか? – NullUserException
ありがとう@NullUserException。私はこれを使用します。 – spiderplant0
'[要出典]'。OPは、(a)正確であるという証拠がなく、(b)適切な文書を見つける際に学んだ教訓がない、怠け者の道を奪うことにだまされた。恥。 –