[過去ログ] 正規表現道場@2ch Part3 s/煽り|荒らし/あぼーん/g (989レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
391: 389 04/04/29 02:51 ID:SDhjA2B7(1) AAS
>>390
ローカルは5.8.3でサーバーは5.6.1です。
ファイルの文字コードはシフトJISです。
392: 04/04/29 02:56 ID:AOm5G2zY(1) AAS
プログラムって何が面白いんですか
393
(5): 04/04/29 15:34 ID:cR/VctPC(1) AAS
適当な文字列<img src="ダブルクォーテーションを含まない文字列">適当な文字列<br>適当な文字列<適当な文字列"適当な<br>文字列

のような文字列に対して、imgタグやbrタグだけ残して、他の<>"'&あたりを文字参照に置換
したいんですが、正規表現一撃でいけますか?
394: 04/04/29 15:38 ID:??? AAS
文字参照って、実体参照のこと言ってるのか?
395
(1): 04/04/29 15:46 ID:??? AAS
あ、そうです。
文字参照→文字実体参照

上の例だと

適当な文字列<img src="ダブルクォーテーションを含まない文字列">適当な文字列<br>適当な文字列&lt;適当な文字列&quot;適当な<br>文字列

となって欲しいのです
396
(2): 04/04/29 16:02 ID:??? AAS
タグ外で&quot;とかまで変換するヤシは意味わかってないね
397
(1): 04/04/29 17:45 ID:??? AAS
>>396
変換しても害は無いと思うが?
398: 04/04/29 18:44 ID:??? AAS
やれやれ、素人はこれだから
399
(1): 04/04/29 19:01 ID:??? AAS
無能な捨て台詞より有能な捨て解説キボンヌ。
400
(1): 04/04/29 19:06 ID:??? AAS
何も分からない素人が何得意気になってるんだか
その程度のことgoogleで調べろよ
401
(1): 04/04/29 19:41 ID:??? AAS
>>400
プッ 必死だな
書き捨てできると思った炉 え? プゲラワラップッ
402: 04/04/29 20:14 ID:??? AAS
>>395=>>397=>>399=>>401
質問者がこんなレベルじゃこのスレも廃れるわけだw
良く分かったよ
403
(1): 04/04/29 20:44 ID:??? AAS
環境
WindowsXP SP1
ActivePerl 5.8.0.806

正規表現でカタカナの「ゼ」を使うとエラーになってしまいます。
カタカナのゼを含む場合だけ「Unmatched [ in regex;」というエラーで止まってしまい、ほかの文字は大丈夫そうなのですが、対処法ありませんか?
if($temp =~ /ゼ/){
色々;
}
404
(1): 04/04/29 20:51 ID:??? AAS
>>389
そんなバカなと思いつつ確認完了。
なぜだろう。

>>393
できるかも知れないけど、プログラム書いたほうが楽だと思う。

>>396
外部リンク[html]:www.w3.org
405
(1): 04/04/29 20:59 ID:??? AAS
>>403
外部リンク[htm]:homepage1.nifty.com

if($temp =~ /\Qゼ\E/){
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 '&lt;' or $6 and '&gt;' or $7 and '&quot;' or $8 and '&amp;'
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>はインライン要素で、閉じタグもない
から、他の処理がすべて終わった後に置き換えればいいや、というロジックでした。

よく考えたら、文字列中に実体参照で<>が出てきたとしても、&が&amp;に展開
されるので、いちど実体参照に展開してから、すべての処理が終わった後に、

s/&lt;br&gt;/<br>/i
s/&lt;img src=&quot;([^"<>]*)&quot;&gt;/<img src="$1">/i

これでいけました。

いろいろテストしていたので、反応が遅くてすまんです。
1-
あと 579 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.020s