質問: またご質問させていただいております。 javaの正規表現についてちょいと 正規エンジンでどういう処理になっているかを 具体的に知りたいので知っているかたが いましたら教えてください。 結果としては問題なく動作しているのですが 正規表現は内部処理を知っていない状態で 使用するのは危なっかしいので... 以下、質問です。 正規表現でメタキャラなどを文字として 扱いたい場合ってエスケープを使用しますよね? んでマッチングパターンとして「-」を使用したいときに 普通に指定してしまうと「〜」になってしまいます。 んでエスケープで\-だとマッチングしません。 \\-だとマッチングします。一体どういう処理になっているのでしょうか? APIでは「実際には、異なるメタキャラクタのセットは、文字クラスの外部ではなく内部に存在することに留意してください。たとえば、正規表現 . は、文字クラス内部ではその特殊な意味を失いますが、表現 - は範囲を示すメタキャラクタになります。 」とあります。 色々と試してみましたがこの文字「-」が特殊な扱いに なっているみたいでこれ以外は通常のエスケープで置き換わります。 デバッガで「\-」と「\\-」のときを見て見ましたが特になんら変わりはありませんでした。 色々と調べては見たのですが結局内部処理でどういう扱いなのかは行き着けませんでした。 ご存知の方がいましたらよろしくお願いいたします。
回答: >てんこさん ありがとうございます!(^^) なるほど... 正規表現エンジン内部に渡すときじゃなくて その前のStringでの文字列の処理なわけですね...(^^; 良くわかりました! ってことで解決です!