5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

正規表現

1 :正規表現:02/12/06 18:09
正規表現

338 :名無しさん@お腹いっぱい。:03/09/16 15:34
>>337
あ、いや、質問が悪かったですね。
範囲指定する文字クラスはどうあるべき (書くべき) か?っていう話です。

ていうか、 re_format(7) を私の拙い英語力で読んでみたところ、
ASCII コードの並びを前提とするような文字クラスの範囲指定は、
portable じゃないからやらない方が良い、ということのようですね。

というわけで、極力 >>337 さんのみたいな文字クラス指定を使った方が良い、と。

339 :名無しさん@お腹いっぱい。:03/09/20 10:41


340 :名無しさん@お腹いっぱい。:03/10/08 15:50
保守

341 :名無しさん@お腹いっぱい。:03/10/12 16:53
vimで"DEL"という文字列が含む行で、"DEL"以下を削除したい場合はどうしたらいいでしょうか?

342 :名無しさん@お腹いっぱい。:03/10/12 17:15
スレ違い。


Vim6 Part6
http://pc.2ch.net/test/read.cgi/unix/1058706125/

343 :名無しさん@お腹いっぱい。:03/10/13 01:12
:%s/DEL.*//


344 :名無しさん@お腹いっぱい。:03/10/13 15:10
>>343
サンクス、すみません。

345 :名無しさん@お腹いっぱい。:03/10/18 17:51


346 :名無しさん@お腹いっぱい。:03/10/21 23:12
>>343
DELは残したい場合はどうすればいいですか?

347 :名無しさん@お腹いっぱい。:03/10/21 23:24
:%s/DEL.*/DEL/

348 :名無しさん@お腹いっぱい。:03/11/05 11:20
MS-DOSが使われていた頃に、"mifes"と言うエディターが有った。
そのマニュアルに1頁ほどの正規表現の説明があって、自分は最初に、それで
覚えて使い出した。
使い始めの頃は、何回も間違えたけど、少しづつ慣れてきた。

自分の周りを見ても、プログラマを何年もやっていても正規表現を知らない
人は、結構いる。
一旦、覚えてしまうと非常に便利だと思うんだけど。

349 :名無しさん@お腹いっぱい。:03/11/05 17:48
正規表現で俺の存在を抹消してくれ。

350 :名無しさん@お腹いっぱい。:03/11/05 19:01
s/俺の存在//g;

351 :名無しさん@お腹いっぱい。:03/11/05 20:10
gsub!(/俺の存在/, "")

352 :名無しさん@お腹いっぱい。:03/11/18 18:31
捕手

353 :名無しさん@お腹いっぱい。:03/11/19 01:38
        rー、
    」´ ̄`lー) \
    T¨L |_/⌒/
     `レ ̄`ヽ〈
       |  i__1
     _ゝ_/ ノ
      L__jイ´_ )
        |  イ
         |  ノ--、           r'⌒ヽ_
        ゝ、___ノ二7  /´ ̄l、_,/}:\
         |ーi |   l_/ /__ィ::.  ゝ~_ィ´:; ,ゝ
        __〉 {      (T´ |1:::.  \_>、};;_」
       'ー‐┘       ! ` ̄''ァ一 、\ ヽ}  ← 保守
               〈` ̄ ̄^`¬ノ .::〔 ̄´
                   1  ヽ   .:::レ  ヽ、
                |_イー-、_;;j|_:.   ゝ、
                __,,,... -- |. {―――‐フゝ、   〉 -- ...,,,__
        _,, -‐ ´       ,r|__ト,    1ニノ ー'´       ` ‐- ,,_
    , ‐ ´         └―'´                     `


354 :名無しさん@お腹いっぱい。:03/11/19 09:17
>>353
それ捕手じゃなくて投手やっ!www

355 :名無しさん@お腹いっぱい。:03/12/04 19:24
別のスレからの引用
ps ax |grep '[s]shd'
とやると、grep自身の行にヒットしないそうだけど、なぜ?
sってメタ文字でもなんでもないのに。

356 :名無しさん@お腹いっぱい。:03/12/04 19:30
なぜって言われても、自明だが。

357 :名無しさん@お腹いっぱい。:03/12/04 19:33
grep sshd と何が違うの?

358 :名無しさん@お腹いっぱい。:03/12/04 19:35
あ、ごめん、わかった(w


359 :名無しさん@お腹いっぱい。:03/12/04 19:36
grep sshd だと、ps の出力に含まれる "grep sshd" の "sshd" がマッチする。

grep '[s]shd' だと、ps の出力には "grep [s]shd" が含まれるが、
この "[s]shd" は、[s]shd にはマッチしない。よね?わかる?

360 :名無しさん@お腹いっぱい。:03/12/04 23:59
なるほど。トリックだな。


361 :名無しさん@お腹いっぱい。:03/12/05 10:59
まあバッドノウハウだとも思うけどナー
http://www.namazu.org/~satoru/misc/bad-knowhow.html


362 :名無しさん@お腹いっぱい。:03/12/05 13:26
そこまでのものではないと思うけど、
この例だと、頭の中でpsの出力まで加工しちゃうからな(w


363 :名無しさん@お腹いっぱい。:03/12/05 20:33
grep -v grep でええやん。

364 :名無しさん@お腹いっぱい。:03/12/30 00:05
muttのaliasで
    alias keyword Name <mailaddress>
みたいなフォーマットで並んでいるファイルを
    alias keyword <mailaddress> # Name
に整形しようと思い,
    cat alias | sed 's![[:space:]]*alias[[:space:]]*\([^[:space:]]*\)[[:space:]]*\(.*\)[[:space:]]*<\(.*\)>!alias \1 <\3> # \2!' > alias.new
としました.

上手く行くんですが, "#" の位置が行ごとにバラバラなのが気持ち悪いです.

そのファイルで "#" 以前の文字数が一番長いものを調べ, そこに合わせて
その他の行の "#" 以降を持ってくるようにするにはどうすればいいんでしょうか?

365 :名無しさん@お腹いっぱい。:03/12/30 00:14
sedでやれってか?
漏れはへたれなので、Perlなどを使ってしまうが(w


366 :名無しさん@お腹いっぱい。:03/12/30 00:28
>>364
2パスでやれば?

367 :名無しさん@お腹いっぱい。:03/12/30 09:20
  2パス?

368 :名無しさん@お腹いっぱい。:03/12/30 16:05
>>367
"#" 以前が一番長いのを調べてから、それに合わせて整形し直せば。

369 :名無しさん@お腹いっぱい。:04/01/11 21:57
>>364
70桁でそろえる場合

sed ':a /.\{70\}\#/!bc; b; :c s/\(.*\)\#\(.*\)$/\1 \#\2/; ta'

亀ですが、こんなんでどうでしょう


370 :名無しさん@お腹いっぱい。:04/01/11 22:21
決め打ちでいいなら何の苦労もないわけで。

371 :名無しさん@お腹いっぱい。:04/01/14 23:40
>>369
反則技。gawk で。sed ではどうやっても出来ないような気が……(_ _;)
# sed でできるのか?

{
a=index($0,"#");
if(a>best) {
best=a;
}
c[FNR]=$0
}

END {
for(i=0;i<=NR;i++){
x=index(c[i],"#");
if(x && x<best) {
for (j=x;j<best;j++) {
gsub("#"," #",c[i]);
}
}
print c[i]
}
}


372 :名無しさん@お腹いっぱい。:04/01/15 23:45
( ´∀`)

373 :名無しさん@お腹いっぱい。:04/02/03 10:33
保守

374 :名無しさん@お腹いっぱい。:04/02/06 18:23
教えてください。
Windows用のファイルをemacsなんかで開いたとき,最下行に
^Z
という符号が表示されることがあります。
これはいったい何でしょうか?


375 :名無しさん@お腹いっぱい。:04/02/06 19:31
いわゆるeof

376 :名無しさん@お腹いっぱい。:04/02/06 21:01
>>375
ありがとうございます。この符号のあるファイル同士をcatで連結すると,途
中にこの符号が入ってしまいます。この符号をsedでマッチさせて消去したい
のですが,どうすればいいでしょうか。
sed '/^$/d' ではダメでした。


377 :名無しさん@お腹いっぱい。:04/02/06 21:09
>>376
いわゆるeof

378 :名無しさん@お腹いっぱい。:04/02/06 22:38
EOF符号をsedで消去できますか?


379 :名無しさん@お腹いっぱい。:04/02/21 22:59
grep で使える正規表現を精密に解説したサイトはありますかね?
日本語/英語どっちでもいいのですが。

380 :名無しさん@お腹いっぱい。:04/02/22 00:19
http://www.kt.rim.or.jp/~kbk/regex/regex.html

381 :名無しさん@お腹いっぱい。:04/02/22 00:29
レベル低いなー
378に対して出来るとも出来ないとも言えないのか...


382 :名無しさん@お腹いっぱい。:04/02/22 00:58
378=381 ですか?

383 :名無しさん@お腹いっぱい。:04/02/22 02:14
>>378
できるよ。普通に
s/^Z//
とかすればいい。もちろん^ZはEOFの一文字ね。

こんなの試せばすぐわかるだろと思ってたんだが、よく>>376を読むと、
「正規表現は純なテキストであるべきで特殊記号を混ぜるのはイクナイ」
と感じたんだろうな。まあ気持ちはわかるわ。

最近の正規表現拡張では、文字をコードの数値で表現する文法が
入ってたりする方が普通(例えばperlとか)だもんな。

384 :338:04/02/22 02:24
でね、特殊記号の特別なケースがtab。大昔は\tなんて表現なかったさ。
よく画面上の見た目やハードコピーや雑誌からシェルスクリプトを打ち直して、
tabとspaceの違いで動かないなんてことが時々あったんだよ。

あと勝手にシェルスクリプトを整形されて動かなくなるとか。


385 :名無しさん@お腹いっぱい。:04/02/22 02:52
>>382
いいえ
>>383
ありがトン!


386 :名無しさん@お腹いっぱい。:04/02/22 02:55
>>382
381=385 が正解


387 :名無しさん@お腹いっぱい。:04/02/22 16:53
>>380
ブックマークにいれますた。

94 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)