[過去ログ] 正規表現道場@2ch Part3 s/煽り|荒らし/あぼーん/g (989レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
406: 04/04/29 21:11 ID:??? AAS
>>405
ありがとうございます。
とりあえず意図した動作をするようになりました。
文字コードのせいで [ に認識されていたんですね。
紹介していただいたURLもブックマークしました。
熟読しますね。
407(1): 04/04/29 23:02 ID:??? AAS
>>393
my $attr = qr/\w+=(?:(?:(')|(")|([^>]))(?:(?(2)[^']*)(?(3)[^"]*)(?(4)[^\s>]*))(?:(?(2)')(?(3)"))\s*)?/;
my $amp = qr/&(?!(?:(?:\#\d+)|(?:\#x[a-f\d]+)|(?:\w+));)/i;
s/(<\/?\w+\s*(?:$attr)*>)|(<)|(>)|(")|($amp)/
$1 and $1 or $5 and '<' or $6 and '>' or $7 and '"' or $8 and '&'
/xge;
Perlで書いてみたけど、どこか穴があるかも。
408: 04/04/29 23:05 ID:??? AAS
> $1 and $1 or $5 and '<' or $6 and '>' or $7 and '"' or $8 and '&'
$1 and $1 or $5 and '<' or $6 and '>' or $7 and '"' or $8 and '&'
409: 04/04/30 06:46 ID:??? AAS
>>404
> 外部リンク[html]:www.w3.org
なるほど。では、タグ外で"とかまで変換しても害は無いですね。
410: 393 04/05/03 22:32 ID:??? AAS
>>407ありがと。
しかし内容を理解しようとしてみたが、いまだわかりません。
簡単なhtmlパーサを作っていて、<br>と<img>はインライン要素で、閉じタグもない
から、他の処理がすべて終わった後に置き換えればいいや、というロジックでした。
よく考えたら、文字列中に実体参照で<>が出てきたとしても、&が&に展開
されるので、いちど実体参照に展開してから、すべての処理が終わった後に、
s/<br>/<br>/i
s/<img src="([^"<>]*)">/<img src="$1">/i
これでいけました。
いろいろテストしていたので、反応が遅くてすまんです。
411: 393 04/05/03 22:39 ID:??? AAS
あ、gオプション書き忘れ。s///giね。
それと、お世話になりましたので、ヘタレの作ったhtmlパーサでも見てやろうかという
方がいるならアプロダにでもソースさらします。
412(1): 04/05/03 23:52 ID:??? AAS
HTMLパーサ?モジュール使ったらあかんの?Perlでしょ?
413: 393 04/05/04 00:09 ID:??? AAS
>>412
HTML::Parseモジュールの使い方を理解するのが面倒くさかった
&
掲示板の投稿に特定のタグと属性のみ許可する、文法に従わないタグは
その旨マークしてテキストとして表示する、という限定的用途なので、自作
のほうが汎用モジュールより高速だと思った
&
Perlと正規表現の勉強のため
て、感じで。
414: 04/05/04 01:54 ID:??? AAS
ま、車輪の再発明は勉強には有用だが、
実用には不向きなので。
415: [age] 04/05/05 18:30 ID:??? AAS
荒らし板は通報せよ!荒らし狩りだっ!
名無しさん@ゴーゴーゴーゴー! :04/04/14 17:58 ID:WE3vDaf0
愛と荒らしの掲示板:外部リンク:bbs2.otd.co.jp
が痛い。荒らし依頼すっと、IPアドレス晒される
依頼か (?)要注意。あまりの痛さにPCを殴りたくなった。
今度は「愛と臨時の掲示板」だってさ!痛すぎる馬鹿だな!
外部リンク:bbs10.otd.co.jp
逃げても無駄だぜ!ゲロ!!つーかお前馬鹿?
卑怯者!逃げるなよ、潜伏中か?
愛と荒らしの掲示板(逃亡先):外部リンク:bbs10.otd.co.jp
416: 未承諾広告※ ◆TWARamEjuA 04/05/05 18:55 ID:??? AAS
Rock54 対象の悪寒。
417: [age] 04/05/06 22:18 ID:??? AAS
/^0?[0-3]?[0-7]{1,2}$/ってどんな意味ですか?
418: 04/05/06 23:08 ID:??? AAS
そのまんまだと思うのだが。
419: 04/05/07 00:17 ID:??? AAS
0377までの8進数
420(8): 04/05/09 00:57 ID:R8gJ7rV0(1) AAS
perlをシフトJISで書いてるんですが、「表」とかの文字化けする文字を正規表現でマッチングさせる
にはどうしたらいいでしょうか。
$_ =~ s/表/表\/g;
みたいなことをしたいんですが上記の場合「表」のコードが(95 5C)なのでエラーに
なってしまいます。コードのまま検索かけてもうまくいきませんでしたし
$_ =~ s/95 5C/95 5C 5C/g;
どうすれば「表」という一文字を検索に引っ掛ける事ができるでしょうか?
421: 420 04/05/09 01:29 ID:??? AAS
色々試していたら、デコードした後に下記のやり方で一応できたのですが、
$_ =~ s/\x95/表\/g;
でも\x95だけでは他の文字にも影響が出てしまいますよね。それで
$_ =~ s/\x95\x5C/g;
としてみましたがこれではマッチしてくれませんでした。どうすればいいでしょうか。
422(1): 04/05/09 01:45 ID:??? AAS
要は文字化けしないようにエスケープしたいんじゃろ?
出力だけでなく処理もSJISでやってるなら展開しないように工夫すれ
423: 04/05/09 02:02 ID:??? AAS
つか、内部処理はEUCでやれよと
424(2): 420 04/05/09 02:08 ID:??? AAS
>>422
はい。フォームに入力してもらった文字列をオウム返しに次のページに出力したり
内容をsendmailで送ったりの時に文字化けが起こらないようにしたいんです。
ところで、みんなはクエリは受け取ったらeucに変換して処理をした後、出力時にsjis
に変換しているのですか?
プラットフォームがwinならsjisで、unixならeucに変換して扱うみたいな事を聞いたの
ですが、winでも処理時はeucで出力の時にsjisに変換すれば大丈夫なんでしょうか?
425(2): 04/05/09 02:16 ID:??? AAS
>>420
外部リンク[htm]:homepage1.nifty.com
上下前次1-新書関写板覧索設栞歴
あと 564 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.025s