• ベストアンサー

正規表現eregとpreg

pregがperl互換の正規表現というのは分かったのですが、eregとpregは使い分ける用途などがあるのででしょうか? あるhtmlから<a herf="--">タグを抜く作業に苦労していまして、調べるとどちらも使われているようで、正規表現を勉強するのにも戸惑っています。 せひ宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • aqucent
  • ベストアンサー率39% (78/200)
回答No.1

個人的には、pregの方が多機能で高速なので、pregの方を使いたくなってしまいます。 (preg_replace_callbackが用意されている点とか) mb_ereg と preg ならともかく、eregとpregではeregを選ぶメリットが見いだせないのですが…、どうなんでしょう。 > あるhtmlから<a herf="--">タグを抜く作業に苦労していまして こんな感じでしょうか? $result = preg_replace('/<a [^>]*href=[^>]*>/', '', $target);

fabu
質問者

お礼

ありがとうございます。 pergを重点的に使う方が正解なのかも、ですね。お答えまでありがとうございます。

その他の回答 (1)

  • aqucent
  • ベストアンサー率39% (78/200)
回答No.2

本質からズレちゃうかもしれませんが、preg は正規表現のマニュアルが載っている点でも親切です。 正規表現で苦労されているのでしたら、マニュアルがある分、pregの方が習得しやすいかもしれません。 # 私の探し方が悪いのかもしれませんが、eregの方はマニュアルに見つかりませんでした。 # なので、私は未だにeregを使いこなせていません。(学びたての頃に少しかじった程度で、pregを知ってからは使わなくなってしまいましたw) あと、pregは対象がUTF-8の文字列ならマルチバイトに対応していますので、上手くエンコードを合わせれば、mg_eregを使わなくて済みます。 pregにはeregにないメリットが多いので、個人的には pregを使って問題が出たら、eregやmb_eregへの代替を検討すればいい、と思っています。 # あくまで個人的な意見なので、専門家の方からみれば、また違った意見があるかと思います。

参考URL:
http://www.php.net/manual/ja/ref.pcre.php
fabu
質問者

お礼

ありがとうございます。 やはりpregですね。少し感じたことは、正規表現は置換をとっても正解が一つだけでないので、好きなものを使っていればいいのかも知れませんね。

関連するQ&A

専門家に質問してみよう