[過去ログ] 正規表現道場@2ch Part3 s/煽り|荒らし/あぼーん/g (989レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
262(1): 04/02/23 05:58 ID:??? AAS
>>260
[[^]]+]
263(1): 04/02/23 10:39 ID:??? AAS
abc\,edf,ghi という文字列を
$_[0] = abc\,edf
$_[1] = ghi
という具合に split したいのですが、どうすればよろしいでしょうか?
264: 04/02/23 11:51 ID:??? AAS
>>263
split /(?<!\\),/, $str;
以後、Perl の質問は 2chスレ:php へ。
265: 260 04/02/23 14:09 ID:??? AAS
>>262
出来ました!すごいですね。
自分には難しくて。
ありがとうございました。
266(2): 04/02/23 20:41 ID:Ea0t25bl(1/2) AAS
文字列以外にマッチってできるべか?
こんなふうに書いてみたけどだめやった。
[^(mojiretu)]
それとも(?!)とか工夫すればできるの?
267: 04/02/23 20:46 ID:??? AAS
純粋に!で否定かければいいのでは、とか思いますがどうでしょう
268: 266 04/02/23 21:30 ID:Ea0t25bl(2/2) AAS
レスどうもです、具体的な例を紹介してくれると助かるんすけど、だめすか?
お願いしまぁす。
269(1): 04/02/23 22:14 ID:??? AAS
Perlなら
$hoge !~ /^mojiretu/g;
で、文字列以外にヒットするはず
270(9): 04/02/24 21:18 ID:1VWZCh18(1/2) AAS
質問です。
アルファベットのみで構成される6文字以上10文字以下の文字列、をcygwinのgrepを用いて検索したいのですが…。
正規表現の紹介をしているところを読んで回り、
^「A-Za-z]{6,10}
で、アルファベット6文字以上10文字以下、を表すということが分かったのですが、
grep -i "^[a-z0-9./]{6,9}"
としてみても何も反応が無く、
egrep -i "^[a-z0-9./]{6,9}"
とすると、11文字や12文字の文字列も引っかかってきてしまいます。
どう書けばアルファベットのみで構成される、6文字以上10文字以下の文字列、を正確に検索出来るのでしょうか?
省1
271: 04/02/24 21:22 ID:??? AAS
>>270
egrep -iw "^[a-z0-9./]{6,10}"
途方に暮れて質問させていただいた直後に我に返りました。
wというコマンドを使えば出来ました。
スレ汚し失礼しました…。
272(1): 270 04/02/24 23:35 ID:1VWZCh18(2/2) AAS
スミマセン…もう一度質問させてください…。
外部リンク[html]:koho.ktplan.jp
ここを例にして説明します。
上のサイトを開いて、全部選択してテキストにコピペしてy.txtとして保存。
この中から、6文字以上、10文字以下の英単語だけを抜き取ろうとしています。
$ egrep -iw "^[a-z]{6,10}" y.txt
とすると、
省14
273(1): 04/02/24 23:40 ID:??? AAS
grepて$つかえたっけ
Perlだと
/^[a-z]{6,10}$/i
で、できるかもしれない。
274: 270 04/02/24 23:46 ID:??? AAS
>>273
即レスありがとうございます…。
$ egrep -iw "^[a-z]{6,10}+$" y.txt
$ egrep "/^[a-z]{6,10}$/i" y.txt
共にだめでした…。
悩んでみます。
275(1): 04/02/24 23:52 ID:??? AAS
egrep -iw "^[a-z]{6,10}$" y.txt
じゃないのかと。
276: 270 04/02/25 00:11 ID:??? AAS
>>275
あ、スミマセン。。。
egrep -iw "^[a-z]{6,10}$" y.txt
です。
何も起きないのです…。
277(1): 04/02/25 00:19 ID:??? AAS
正規表現メモによると、egrepでは{n,m}をサポートしていないそうだ。
grepなら{n.m}をサポートしているみたいだが。
278: 270 04/02/25 00:22 ID:??? AAS
>>277
egrepだと、とりあえず>>272の状態まではたどり着くのですが、
$ grep -iw "^[a-z]{6,10}" y.txt
これだと何も起きないのです…。
そもそもgrepやegrepだと無理…なのかな…。
279(1): 04/02/25 00:42 ID:??? AAS
FreeBSDだけど、こんな感じだよ。
$ egrep -iw "^[a-z]{6,10}$" y.txt
yesterday
yourself
$ egrep -V
egrep (GNU grep) 2.4d
280(1): 270 04/02/25 01:07 ID:??? AAS
>>279
FreeBSD、ググッテ見ましたが、自分にはよく理解できませんでした。
自分は
外部リンク:sources.redhat.com
このcygwinというのを使用しています。
$ egrep -V
egrep (GNU grep) 2.5
と言うことでした。
つまり、これでは出来ない、ということですかね…。
ありがとうございました。
省4
281(3): 04/02/25 02:25 ID:??? AAS
>>280
man egrep して、冒頭を 100遍読んでみ。
上下前次1-新書関写板覧索設栞歴
あと 708 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.019s