none
基本正規表現と拡張正規表現 RRS feed

  • 質問

  • UNIXの世界では、正規表現の中に、基本と拡張があるようですが、

    Windowsの世界にもあるのでしょうか。

    Webサイトを色々捜してみましたが、明記されているものがなかったので

    ご存知の方いらっしゃいましたら、教えて下さい。

    あと、VBスクリプトのRegExpオブジェクトは、基本か拡張どちらを適用しているのでしょうか、あるいはどちらでもない(Windows独自の仕様)のでしょうか。

    2006年12月7日 8:33

回答

  • はあ、一言目が「了解しました」ですか。

    どのように検索してどこが見つかって満足できなかったのかわかりませんが、
    多分これは単純な検索では見つからないでしょうから紹介しておきましょう。

    http://www.jisc.go.jp/app/JPS/JPSO0020.html
    JIS X 3031

    POSIX 1003.2 Shell and Utilities の訳です。

    2.8 正規表現記法

    に正規表現に関する説明があります。
    #ここで逐一説明しても良いのですが、張り合いがないのでやりません。

    POSIXの定めるところに忠実に従うと、基本正規表現(BRE)ではできるけれども
    拡張正規表現(ERE)ではできないこととか、その逆がありますから、
    どちらを使うべきかは明確にはできず、状況によるとしかいえません。


    2006年12月31日 18:33

すべての返信

  • Unix の世界というか IEEE の POSIX 1003.2 にある Basic Regular Expression と
    Extended Regular Expression ですね。
    元々DOS→Windowsの世界では一般的な正規表現ライブラリがありませんでしたので

    同様のものはないと思います(移植したものはあるでしょうが)。
    VBScriptで使える正規表現は、上記の二つのいずれでもありません。
    強いて言うなら、Perl (5.6以降)のものが一番近いですが、Perlにはあるが
    VBScriptにはないメタ文字がいくつかあります。
    2006年12月7日 10:40
  • VBスクリプトの件は了解しました。

    ところで、基本と拡張の差異について、Webから調べているのですが、明確に分かるサイトがありませんでした。

    どなたか分かる方いらっしゃいましたら教えて下さい。

    特に知りたいのは、基本にあって拡張にないメタキャラ、また、その逆のパターンです。

    (一般的には、どちらの方を使用すべきなのでしょうか)

    よろしくお願いします。

    2006年12月27日 6:18
  • はあ、一言目が「了解しました」ですか。

    どのように検索してどこが見つかって満足できなかったのかわかりませんが、
    多分これは単純な検索では見つからないでしょうから紹介しておきましょう。

    http://www.jisc.go.jp/app/JPS/JPSO0020.html
    JIS X 3031

    POSIX 1003.2 Shell and Utilities の訳です。

    2.8 正規表現記法

    に正規表現に関する説明があります。
    #ここで逐一説明しても良いのですが、張り合いがないのでやりません。

    POSIXの定めるところに忠実に従うと、基本正規表現(BRE)ではできるけれども
    拡張正規表現(ERE)ではできないこととか、その逆がありますから、
    どちらを使うべきかは明確にはできず、状況によるとしかいえません。


    2006年12月31日 18:33