質問: php 正規表現 はじめまして^^ 現在、phpでプログラムを作っています。 そして、文字列の置き換えをする機会があり、 正規表現をつかうことになりました!! 置き換えに使う関数は、mb_ereg_replaceです! ある条件にあった部分の文字列を置き換えしたいと思っています。 そして、いろいろとやっていきましたら、あるひとつの壁にぶつかりました。。 例えば、phpでは、正規表現の部分を [^文字]とやると、『文』と『字』という文字列以外にマッチという意味になるらしいのですが、 『文字』という文字列以外にマッチ、というふうに、表現したい場合は、 どう表現すればよいのですか? [^(文字)]とか、その他いろいろ、 自分なりに、色々ためしたのですが、うんともすんともいいません、、 どなたか、わかる方教えて下さいm(_ _)m
回答: なに、俺だけシカトかいw > [^文]とやると、『文』以外にマッチしますよね。 > そして、二文字以上の文字以外にマッチさせたい場合は...どうやるんだ!! http://www.kt.rim.or.jp/~kbk/regex/regex.html#notincluded > > 改行から改行までマッチ。途中にbrなんていうのがあってもマッチ > 行頭に> つまり、のあとに> があれば、 > 次にがあるまでの部分『> 文字』マッチさせたいのです。 つまり、この文字列から「改行から改行までマッチ。途中にbrなんてのがあってもマッチ」 というのだけ取り出したい。ということですか? > 改行から改行までマッチ。途中にbrなんていうのがあってもマッチ'; //$pat = '(?<=>).*(?=)'; $pat = '>(.*)(?=)'; mb_ereg($pat, $str, $matched); print_r($matched); array ( [0] => > 改行から改行までマッチ。途中にbrなんていうのがあってもマッチ [1] => 改行から改行までマッチ。途中にbrなんていうのがあってもマッチ ) で、replaceでどういう置き換えをしたいんですか?