[過去ログ]
正規表現道場@2ch Part3 s/煽り|荒らし/あぼーん/g (989レス)
正規表現道場@2ch Part3 s/煽り|荒らし/あぼーん/g http://tamae.5ch.net/test/read.cgi/php/1069245758/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
576: nobodyさん [sage] 04/08/06 23:00 ID:??? >>575 >>121 http://tamae.5ch.net/test/read.cgi/php/1069245758/576
577: nobodyさん [sage] 04/08/07 03:48 ID:??? >>575は g スイッチのことぢゃないの? 確か global の略だったと思う。 パターンにマッチしたのは全部片付けちまいな、の意。 # >>576がなんで >>121 を指してるのかが気になる。 http://tamae.5ch.net/test/read.cgi/php/1069245758/577
578: nobodyさん [age] 04/08/09 18:35 ID:??? perlの正規表現で $value = qq|<a href="hogehoge.html">test</a>|; $value =~ s/<.*?>//g; print $value; でHTMLタグを削除できるけど、これの仕組みがわからない。 *→0回以上一致する ?→0回または1回一致する .→??????? エロイ人解説おながいします http://tamae.5ch.net/test/read.cgi/php/1069245758/578
579: 578 [sage] 04/08/09 18:44 ID:??? .→改行以外の一文字に一致する 見てた解説サイトにだけちょうどなかったorz でも*?とする意味はまだわからないでつ; http://tamae.5ch.net/test/read.cgi/php/1069245758/579
580: nobodyさん [sage] 04/08/09 18:45 ID:??? >>578 http://www.kt.rim.or.jp/%7Ekbk/perl5.005/perlre.html http://tamae.5ch.net/test/read.cgi/php/1069245758/580
581: 578 [sage] 04/08/09 19:05 ID:??? >可能な限り小さな 繰り返しでマッチを行わせたいのなら、量指定子の後に“?”を続けます。 >>580 どうして?を付けるとそうなるのかが・・・・ 例えば $test = "<aiu>test</aiu>"; $test =~ s/<.*?>//g; としたときに.*だけですべてをひとつの文字列として捉えそうなのに(現に?がないとそうなりますが) ?を付けるだけで・・・うまくいえないorz ?がコンパイルされる瞬間はいつなんですか? <.*の時点で可能な限りマッチしますよね・・・っていうかその時は>これはあってもなくても<.*だけで 最後まで一致するから、じゃあ>はいつコンパイルされるんだ??? もしも s/<<.*>>//g; としたら先に<<>>を優先してあまった文字に対して.*をやるのかな?駄目だ・・これじゃ 漏れの疑問をエロイ人に理解してもらうことすらできないorz http://tamae.5ch.net/test/read.cgi/php/1069245758/581
582: nobodyさん [sage] 04/08/09 20:25 ID:??? >>581 *? で一塊の量指定子。量指定子としての * と量指定子としての ? を 並べて書いてるわけじゃない。 $test = "<aiu>test</aiu>"; として、 最長マッチ (<.*>) の場合: 1. $test の最初の < と パターンの < がマッチ 2. .* は「何か0文字以上を最大限」だから、aiu>test</aiu> にマッチ 3. パターンにはまだ > が残っているが、文字列は全部調べ尽くしたので 一旦マッチ失敗。 4. .* は「0文字以上」でさえあればいいので、食べちゃった文字を一文字 ずつ吐き出し、再試行できる (バックトラック) 。 5. .* にマッチした aiu>test</aiu> から最後の > を除外し、.* の次の パターンである > と比べる。 6. $test の最後の > とパターンの > がマッチ 7. パターンが全てマッチ ( < と aiu>test</aiu と > ) 最短マッチ (<.*?>) の場合: 1. $test の最初の < と パターンの < がマッチ 2. .*? は「何か0文字以上を最小限」だから、( < と a の間にある) 空文字列 にマッチ 3. a はパターン > にマッチしないので一旦マッチ失敗。 4. .*? は「0文字以上」でさえあればいいので、もっと詰め込む事もできる。 5. .*? に a を食わせる事にして、i と > を比べる。 6. 同様にパターン > が $test 中の > にぶつかるまで試行を繰り返す。 7. パターンが全てマッチ ( < と aiu と > ) http://tamae.5ch.net/test/read.cgi/php/1069245758/582
583: nobodyさん [sage] 04/08/09 21:34 ID:??? ある文字列を含まない行を取得したいのですが、 どのようにしたらいいんでしょうか? 例) aaabbb ERROR aaabbbccc ABC dddeee aaabbbcc ABC cdddeee ERROR aaabbbcccddd ABC eee というようなテキストがあるとして errorを含まずABCを含む行だけ(この例では2行目)を マッチさせたいんですが。 http://tamae.5ch.net/test/read.cgi/php/1069245758/583
584: nobodyさん [sage] 04/08/09 21:44 ID:??? >>583 http://www.din.or.jp/~ohzaki/regex.htm ^(?=.*ABC)(?:(?!ERROR).)*$ http://tamae.5ch.net/test/read.cgi/php/1069245758/584
585: nobodyさん [sage] 04/08/09 21:46 ID:??? >>583 @match_lines = grep((!/error/i and /\bABC\b/), split /\n/, $Strings); http://tamae.5ch.net/test/read.cgi/php/1069245758/585
586: nobodyさん [sage] 04/08/09 22:00 ID:??? >>584, >>585さん、ありがとうございます。 しかし、教えてくださったやり方だと、自分の使っている エディタ(Peggy)ではできないです。 これはPerlで使える方法なのでしょうか? (Perl知りませんが。。。もしかしたらjavaの OROとかでも使えるのだろうか?) ちなみに秀丸エディタでは前方一致とか後方一致で マッチさせることができるみたいですね。 そこまでいかない普通の?正規表現しか使えない環境でこれは 実現できないものでしょうか?? http://tamae.5ch.net/test/read.cgi/php/1069245758/586
587: nobodyさん [sage] 04/08/09 22:05 ID:??? EmEditorならできるよ http://tamae.5ch.net/test/read.cgi/php/1069245758/587
588: nobodyさん [sage] 04/08/09 22:22 ID:??? >>587さん、ありがとうございます。 ちょっと見てみます。 でもすでにPeggyをシェアウェアとして長く使っており、 見やすい配色になれてしまったので、 今から乗り換えるつもりはないですが。。。 必要なときだけ使う形でいくしかないかな。 あ、でもこれ使用期限とかあるのかな。 http://tamae.5ch.net/test/read.cgi/php/1069245758/588
589: nobodyさん [sage] 04/08/09 22:30 ID:??? フリーのVxEdtorの正規表現検索でも >>584 でできたよ。 http://tamae.5ch.net/test/read.cgi/php/1069245758/589
590: 581 [sage] 04/08/10 07:09 ID:??? >>582 うお!? メチャクチャわかりやすい! 保存しておきまつ! http://tamae.5ch.net/test/read.cgi/php/1069245758/590
591: [] 04/08/10 13:43 ID:2tv/OiLj >>252 便乗させてください。 if ($FORM{'name'} !~ /^(\x82[\x9f-\xf1]|\x83[\x40-\x96]|[\x88-\x9f\xe0-\xfc][\x40-\x7e\x80-\xfc])*$/){ &error; } ↑ ここから漢字とひらがなも省いて「全角カタカナのみを許可」という形にするにはどうればよいでしょうか。 http://tamae.5ch.net/test/read.cgi/php/1069245758/591
592: nobodyさん [sage] 04/08/10 20:24 ID:??? >>591 http://www.din.or.jp/~ohzaki/perl.htm#Character http://tamae.5ch.net/test/read.cgi/php/1069245758/592
593: nobodyさん [sage] 04/08/11 20:21 ID:??? >>592 ありがとうございました http://tamae.5ch.net/test/read.cgi/php/1069245758/593
594: nobodyさん [] 04/08/12 12:26 ID:wFKNBEiY 電話番号をsjisで正規表現するにはどうすればいいでしょうか? 080-1234-5678 とか 03-1234-4321 とか 080-1234-5678 とか 08012345678 とか 0312344321 http://tamae.5ch.net/test/read.cgi/php/1069245758/594
595: nobodyさん [sage] 04/08/12 13:04 ID:??? [0-9-]* http://tamae.5ch.net/test/read.cgi/php/1069245758/595
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 394 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.014s