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