[過去ログ] 正規表現道場@2ch Part2 (981レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1(6): 02/11/24 22:57 ID:LrbVcl3Y(1) AAS
Perlに限らずスクリプト系言語で大活躍の正規表現。
このスレは有用そうな正規表現を紹介したり、どう表現したらいいかわからないときに
質問をしたりするためのスレッドです。
質問するときは使用言語や得たい結果をなるべく詳しく書きましょう。
リンクなどは>>2-5のあたりに。
2(9): 02/11/24 22:58 ID:??? AAS
Perlメモ
外部リンク[htm]:www.din.or.jp
正規表現メモ
外部リンク[html]:www.kt.rim.or.jp
Regex::Diagram.pm
外部リンク[html]:www.cc.rim.or.jp
正規表現
外部リンク:www.cc.rim.or.jp
UNIX正規表現入門 目次
外部リンク[html]:www01.u-page.so-net.ne.jp
省5
12(6): 02/12/05 07:44 ID:??? AAS
>>10
すいません、質問の意味がわかりました。
cgiで表示させるだけなら、その時にだけ自動リンクを使えばいいですよね、
でも一日ずつhtmlファイルで保存してそれを読み込んでくるタイプなので、
元ファイルにすでにアンカーが貼られてるんですよ。
だからそれを修正しなければならない、とこういうわけです。
掲示板というよりニュースサイトのようなものを作ってます。
15(3): 12 02/12/05 10:00 ID:5X+JpwfG(4/5) AAS
>14
ありがとうございます、やりたかったのは確かにそんな感じです。
正確には、
一日目
これすごい 外部リンク[pl]:www.aaa.com
二日目:
これすごい <a href="外部リンク[pl]:www.aaa.com">外部リンク[pl]:www.aaa.com
もっとすごいの発見 外部リンク:def.ghi.com
といった感じです。
で、その大崎さんという方のサイトを見て修正したのですが、
省5
36(4): 02/12/08 12:52 ID:??? AAS
オリジナルタグみたいなモノを使えるようにしているのですが
<code></code>で囲んだ間は、オリジナルタグを無効になるように処理したいです。
でも、<code>〜</code>〜</code>こういう風に書かれたら
途中で終わってしまて困ってます。
どうしたら良いでしょうか?
37(3): [sage ] 02/12/08 12:59 ID:??? AAS
>>36
オリジナルタグってなに?
無効にするってどうすることを無効とするの?
50(3): 02/12/09 11:29 ID:N8zphpYN(1/4) AAS
整数と小数を許可する正規表現を書きたいと思って
↓を書いてみました。
^[0-9]*\.{1}[0-9]$
でも、これだと必ず小数点を書かないといけません…。
例えば「12」という数値を通したい場合
「12.0」にしないとエラーになってしまうのです。
「12」でも通るようにするためにはどう書けば良いのでしょうか。
66(4): 02/12/10 07:51 ID:??? AAS
置き換えに関して質問なのですが
[→[
]→]
と言う風に置き換えをしたいのですが、下記のようにすると
$msg =~ s/\Q[\E/?/g;
$msg =~ s/\Q]\E/?/g;
ー の文字コードが81 5Bで、 [ の文字コードが5Bなので
ー が文字化けをしてしまいます。
文字コードはShift_JISです。どういう風にすれば文字化けを回避できるでしょうか?
67(4): Name_Not_Found 02/12/10 10:17 ID:SHy7dsCG(1/2) AAS
>>65
.* とか .+ は最も長くマッチしようとします。
.*& ってやると後ろの & まで見ちゃうわけですね。
そういう場合は .*? みたいに、後ろに ? を付けると
なるべく短かくマッチしようとするようになります。
>>66
前の文字が Shift JIS の 1byte目じゃなければ置換、ってすればいいのかな。
s/(?:(?:^|[^1byte目の範囲を書いてね])\[)/?/g;
試してないからわからないけど、これでどうでしょう?
76(5): 02/12/10 14:39 ID:??? AAS
$test =~ s/(https?\:\/\/[\S]+)/<a href=\"$1\">$1<\/a>/g;
ではダメ?
94(6): 02/12/11 17:44 ID:YVHUV6QH(1/4) AAS
質問します。言語はperlです。
>>94という具合に
ページ内にリンク先がある場合に限ってリンクを張りたいのですが
どうしたらいいでしょうか。
【悪い例】
$foo=">>1 hogehoge\n>>2 hogehoge\n"; #置換対象文字列
$num="94"; #最新レスの番号
$max="100" ; #1ページあたりの表示件数
if(($num>$2)&&($2>$num-$max)){
$foo =~ s/(>>)([1-9][0-9]*)/<a href="#$2">$1$2<\/a>/g;
省3
96(4): Name_Not_Found 02/12/11 18:06 ID:7uJNDqfw(1/3) AAS
my $max =100; # これは range で
my $num =94; # こっちが max の方がいいような気もするけど。
my $foo=<<EOB;
>>1 hogehoge
>>2 hogehoge
EOB
my ( $high, $low ) =( $num, $num - $max );
$foo =~s/(?:>>)(\d+)/
$low <= $value and $value <= $high ? qq(<a href="#$1">>>$1</a>)
省1
104(3): 名無しさん 03/01/03 00:29 ID:yu7P73hS(1/4) AAS
すいません 教えてください。。
最短マッチが、いろいろ読んだけどわかりません。phpです。
/* hoge */ hogehoge /* hoge */ の /* */
で囲んだ部分だけ灰色にしたいんです。
ereg_replace("(/\*.+\*/)","<font color=\"gray\">\\1</font>");
こうすると 最初と最後の/* */にマッチしてしまいます。
たぶん、最長マッチだからです。
最短マッチにするには?をつけろと書いてあるけど、どこにつけるかわかりません。
(/\*.+\*/){1,}? こうするとなにも出てきません。
省1
115(6): 03/01/18 13:42 ID:??? AAS
掲示板スクリプト作っているんですが、
URLの抽出前に<>"を文字参照に置き換えると、
URLの抽出を行うと、外部リンク:www.yahoo.co.jp">Yahoo</a>
とかもa>までURL扱いになってしまい、困っています。
$msg=~s/(http|ftp|mailto)\:([\w.\@~\/\-\?&=;%#]+)/\<a href=\"$1:$2\">$1:$2<\/a>/g;
URL抽出部分はこんな感じです。
127(3): 03/01/20 08:07 ID:vz/F/uwh(1/2) AAS
外部リンク:www.2ch.net でも 外部リンク:2ch.net でもマッチする
一番エレガントな書き方ってどういうのですか?あと
$url = '外部リンク:www.2ch.net
$url =~ s/2ch/1ch/;
と書いた場合になんで$url のなかの"/"をエスケープしなくても
エラーにならないんでしょうか?
135(4): 03/01/22 11:39 ID:Lm4zDQtU(1/7) AAS
perl1行でgrepと同じ事する方法キボンヌ。
/(^.*key.*$)/$1/
じゃダメポ。
というのも、とあるテキスト書換えソフトでgrep出来たらいいなと。
177(4): 03/02/02 17:56 ID:??? AAS
perlなら、もう一度マッチングさせるかな。
なるべく別々に処理を行うようにするけど。
VBとかの機能はマ板で訊いてください。
230(3): 227 03/03/05 12:37 ID:??? AAS
マッチしませんれした
263(4): 03/03/11 10:43 ID:V1nwV3pf(1) AAS
「次の言語に対する正規表現を書きなさい
0と1からなる列で0は偶数回、1は奇数回現れるもの全て。」
わからない…。ていうか可能?
280(3): 03/03/12 22:38 ID:??? AAS
.*
と
.+?
の違いって何ですか??
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.197s*