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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
830: 04/10/29 13:51 ID:??? AAS
すまない、そしてありがとう。
829でできました。
831
(3): 04/10/29 15:00 ID:??? AAS
828、829とも改行が続く場合に削除できない。
また、829では先頭の改行を削除できない。
直前のパターンを指定する場合、普通は
(?<=PATTERN) や (?<!PATTERN) を使う。
この場合なら、s/(?<![{}])\n//g; とする。

>>829
次に回答するときはちょっとでも試行の跡を見せれ。
832
(2): 04/10/29 15:14 ID:??? AAS
>>831
改行が続く場合と、先頭の改行の違いを述べよ。
828が正解。
実際に試してから偉そうなこと言えよな。
833
(1): 04/10/29 16:20 ID:??? AAS
>>823-832
# 「直前が { もしくは } の改行のみ残る」なら、これは3行になる筈
my $orig = "\n\nfoo\n\n{\nbar\n}\n\nbaz\n\n";

(my $copy = $orig) =~ s/(^|[^{}])\n/$1/g; # 828
print "[$copy]\n";
# [
# foo
# {
# bar}
# baz]
省7
834
(2): 04/10/29 16:25 ID:??? AAS
>>832
$_ = <<EOH;

abc

123
EOH
の時、1行目のが「先頭の改行(^\n)」で、
abcの後ろと次の空行の改行が「続く改行(\n\n+)」。

これを>>828に通すと
abc
123
省5
835: 04/10/29 16:32 ID:??? AAS
>>832
833-834を踏まえた上で、828が正解である根拠を述べよ。
831が正解。
頭良くなってから偉そうなこと言えよな。
836
(1): 04/10/29 16:34 ID:??? AAS
>>833=>>834
ばか?変数に入れたものなんか誰も処理しないよ。
変数に書いてる間にエディタで取った方が速いよ。
普通のファイルでやって皆。
--------

foo

{

bar

}
省2
837: 04/10/29 16:38 ID:??? AAS
>>836
>>825は「とりあえずはPerlでよろしく」と言ってるわけだが。
838: 825 04/10/29 16:40 ID:??? AAS
解決したんでもうやめれ。
839: 04/10/29 16:43 ID:??? AAS
>>834
いちいちヒアドキュメントなんか書いてる間に
(あるいはスクリプトに挿入してEOHなんてやってる
間に)エディタの置換でやったほうが速いよ。
>>831が間違いだと言ってないからな。
ただ、否定の?は遅いからな(プッ
840: 04/10/29 16:46 ID:??? AAS
ということで、828が最善解。
841
(1): 04/10/29 17:58 ID:jREmvBrx(1) AAS
JavaScriptの正規表現使って文字列の先頭と最後の空白を取りたいのですが
どう書けばいいのでしょうか?
abc dfg hij a
を(先頭と最後に3つ空白がある)
abc dfg hij a

みたいにしたいのです。

教えてください。
842: 04/10/29 18:24 ID:??? AAS
>>841
str = " abc dfg hij a ".replace(/^\s+|\s+$/g, "");
分かりやすく、前後のスペースは全角にしたので注意。
.replaceを適用した文字列や変数自身は置換されないので、
結果を受け取る必要あり。
843
(1): 04/11/02 02:39 ID:??? AAS
/*str1*/str2/*str3*/
という文字列があって/*〜*/の部分をereg_replaceで空文字列に置き換えようとしたとき

ereg_replace("(/\*.*\*/)","","/*str1*/str2/*str3*/");
てやると、先頭の/*と末尾の*/がマッチして全部消えるんだけど
test2は残して、test1とtest3だけ消す方法ってある?
844: 04/11/02 04:38 ID:??? AAS
test?
( ゚Д゚)
845: 04/11/02 06:03 ID:??? AAS
(/\*.*?\*/)
846
(1): 04/11/02 12:08 ID:??? AAS
(/\*([^*]|\*+[^/*])*\*+/)
847: 843 04/11/02 15:34 ID:TAdMjWDI(1) AAS
すまそ…激しく誤植だった。
>ereg_replace("(/\*.*\*/)","","/*str1*/str2/*str3*/");
>てやると、先頭の/*と末尾の*/がマッチして全部消えるんだけど
>str2は残して、str1とstr3だけ消す方法ってある?
でした。

>>846サソ
(/\*([^*]|\*+[^/*])*\*+/)で、できました〜
ありがとうございました。
848: あぼーん [あぼーん] あぼーん AAS
あぼーん
849
(2): 04/11/04 12:11 ID:??? AAS
perlでEUC以外の文字列を削除するスクリプトを作成しましたが、
エラーが出てしまい困っています。
削除前には他の文字コードの場合にはEUCに変換しています。

$pattern部分はperlメモさんを参考にしています。

my $str = ' aaaa bbb ccc dddd';
my $pattern = '(?:[\xA9-\xAF\xF5-\xFE][\xA1-\xFE]|' # 9-15,85-94区
. '\x8E[\xE0-\xFE]|' # 半角カタカナ
. '\xA2[\xAF-\xB9\xC2-\xC9\xD1-\xDB\xEB-\xF1\xFA-\xFD]|' # 2区
. '\xA3[\XA1-\xAF\xBA-\xC0\xDB-\xE0\xFB-\xFE]|' # 3区
. '\xA4[\xF4-\xFE]|' # 4区
省10
1-
あと 140 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.025s