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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
810: 04/10/18 11:03 ID:??? AAS
いや、'\' じゃなくて '\' だから、parse error・・・・
って、MLとマルチポストするなよ。
811: 04/10/18 11:29 ID:??? AAS
〜 これにはつっこまんのか
812: 04/10/18 12:01 ID:??? AAS
'\' 俺が悪いのか?
-

v'\'v そうさ。
 o
813
(1): 04/10/18 12:42 ID:??? AAS
ML にはちゃんと半角で '~', '\' としてるからわかってそう書いてるんだと思うけど。

ていうか、記号をわざわざ全角で書いてるひとが多いけど、なんでなんでしょ?
'&' や '"' と同じような罠にはまるのを避けてるのかな?
814: 04/10/18 13:11 ID:??? AAS
>>813
SafariだとASCII or Unicode以外でポストするとき、迷惑にも
? -> \, ? -> 〜 に変換しやがるのです。
815: 04/10/18 13:13 ID:??? AAS
なぜか数値参照が化けた..orz
バックスラッシュ・チルダが全角バックスラッシュ・全角ウェーブダッシュにされるんです。
816: 04/10/18 13:43 ID:??? AAS
そうだったのかあ。
よくプログラミングネタや UNIX のトラブルシュートネタで、
コードやエラーメッセージをそのまま貼れ、って言うことがあるけど、
そういうのがあるとすると厄介ですなあ。
817
(1): 04/10/22 17:38 ID:xzmN9eHo(1) AAS
perlのサブルーチンを抜き出すような正規表現はどう書けばいいでしょうか?
言語はperlです。

-----------
sub aaa{
1
2
}
\n
sub bbb{
3
省20
818: 04/10/22 18:28 ID:??? AAS
つまらん
819: 817 04/10/23 01:25 ID:fB1MfhBi(1/2) AAS
そう言わず、ヒントだけでも下さい!
820: ◆7CWqH7Oesg 04/10/23 13:26 ID:??? AAS
$data=~ s/[\x0A\x0D]=\w+.*?=cut//gs;
$data=~ s/([\s;{}]*)#[^\x0A\x0D]*/$1/g;
$data=~ s/[\x0A\x0D]__(?:END|DATA)__.*//s;
@result= $data=~ /\s+sub\s+([a-zA-Z_]\w*\s*(?:\([^)]*\))?\s*\{(?:[^}]|\{[^}]*\})*\})/g;

これでどう?
821
(1): 04/10/23 13:52 ID:fB1MfhBi(2/2) AAS
$data = "sub aaa{\n1\n2\n}\n\nsub bbb{\n3\n}\n\n\n";

$data=~ s/[\x0A\x0D]=\w+.*?=cut//gs;
$data=~ s/([\s;{}]*)#[^\x0A\x0D]*/$1/g;
$data=~ s/[\x0A\x0D]__(?:END|DATA)__.*//s;
@result= $data=~ /\s+sub\s+([a-zA-Z_]\w*\s*(?:\([^)]*\))?\s*\{(?:[^}]|\{[^}]*\})*\})/g;

print @result;

を実行しても

bbb{
3
}
省1
822
(1): ◆7CWqH7Oesg 04/10/23 14:01 ID:??? AAS
>>821

@result= $data=~ /\s+sub
を以下に変えないといけないようだ。

@result= $data=~ /(?:^|\s|=)sub
823
(3): 04/10/29 01:30 ID:??? AAS
「直前が{でも}でもない改行を削除」を性器表現するとどうなりますか?
824: 04/10/29 02:15 ID:??? AAS
>>823
実装言語を言わずに回答が欲しいですかそうですか
825
(2): 04/10/29 02:35 ID:??? AAS
実装言語はなんでもいいです、でもいいですが、とりあえずはPerlでよろしくです。
826
(1): 04/10/29 03:55 ID:??? AAS
>>823
s/([^\^{}])\n/$1/g; # unixの改行
s/([^\^{}])\r\n/$1/g; # windowsの改行
s/([^\^{}])\r/$1/g; # Macの改行
827: 04/10/29 06:16 ID:??? AAS
また丸投げかよ
828
(1): 826 04/10/29 12:08 ID:??? AAS
ごめn、まちがった。
s/(^|[^{}])\n/$1/g;
だた。
829
(1): 04/10/29 13:38 ID:??? AAS
これでもよくね? s/([^{}])\n/$1/g;

>>823
次に質問するときはちょっとでも努力の跡を見せれ。
1-
あと 160 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.022s