[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 02/03 08:16 / Filesize : 179 KB / Number-of Response : 834
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

正規表現



1 名前:正規表現 mailto:正規表現 [02/12/06 18:09]
正規表現

284 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/13 00:28]
>>282
とはいえ、"."って、ファイル名にしかでてこないよね?
>>281 をよーくみる。


285 名前:283 mailto:sage [03/07/13 00:30]
間違えた。

ls -1a | grep '^\.'
これか
ls -la | grep ' \.'
これだな。下は余計なものを拾う可能性もあるが。

286 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/13 00:31]
ls -d .*
なんてね。


287 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/13 00:32]
あ、正規表現スレだった。すまん。

288 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/13 02:00]
ヤハリココハオモッテタトオリバカバッカリダッタナ(プ

289 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/13 02:57]
ls -la | awk '$9 ~ /^\./{print $0}' はどうよ。

290 名前:名無しさん@お腹いっぱい。 [03/07/13 11:30]
>>280 ふつーそういうときは ls つかわず findつかえ。
find ./ -type f -name "\.*" -print


291 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/13 14:36]
(())

292 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/14 11:38]
>>290 ふつーそういうときは >> つかわず >> つかえ。



293 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/14 19:04]
backreferenceを前方参照と訳したのはなぜですか?


294 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/14 21:19]
後方参照としている訳もあるよ。
まぁ、現在の位置よりも前を参照するという意味では
日本語的には前方参照であってると思う。
ようするに「今いる位置より戻って参照」って意味になるんだから。

んでも、意味を考えて訳すなら「戻って参照」とか、どう?

295 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/14 21:32]
>>294
ちょっと前にCスレで話題になったんだけど、Cで「前方参照」といった場合の前方って、
ファイルの終端方向を指す。「ひどい訳語だ」ってことで話は終わったんだけど、
正規表現でも混乱が見られるしなんかいい言葉ないもんかねえ。

日本語では時間を表す文脈で「前」にまるで正反対の意味があるからよくないのだと思う。
「以前」だと過去だし「前進」だと未来だし。

あとこれはすれ違いか? そうだよね。すまん。

296 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/14 21:41]
>>279 >>281 >>283 >>284 >>285 >>286 >>287 >>289 >>290

みなさま、ありがとうございます。

シングルクォーテーションに空白が使えたり、
アッパーチルダとハット(キャレット?)の区別を知ったりと、
正規表現の難しさを知りました。

今、「テキストデータ料理学」っていう古い本を読んでいるのですが、
オライリーの正規表現本は買ったほうがいいですか?

(もう2〜3週間前にオライリーのサイトでカタログを注文したのに、
まだ来ない…)

297 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/14 22:23]
おれは初版も新しいのも持ってるけど、自分の知識に自信がないうちは
お薦めしない。もちろんあったらあったで便利だけど。

やっぱり、「俺、正規表現バリバリだぜーYAH」状態で買って読んで
目からうろこ落ちまくり感を堪能するのがいいんではないかと。

298 名前:名無しさん@お腹いっぱい。 [03/07/14 23:31]
>294
するってえと、正規表現的には日本語で前方参照あるいは後方参照と書いてあったら
どっちもbackreferenceと思えってわけだぁね。
>295
計算機分野だと「前方」という言葉はforwardの訳語というのがあたりめえだと思ってたから、
正規表現関係だと、「前方参照」がbackreferenceのことだっていうのがわかんなくて
難儀したってわけよ。


299 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/14 23:33]
>>297
>>296は学ぶ意欲を持っているから、今のうちに買っておいて損はないと思う。
むしろ薦める。
オイラリーはハズレが少ないからな。

300 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/14 23:35]
>>298
俺はperlから入ったから後方参照が当たり前かと思ってた。
他言語使うようになってから吃驚したってわけよ。

301 名前:298 mailto:sage [03/07/14 23:43]
perl5の日本語マニュアルで、「前方参照」を "lookahead assertion"の訳語として
使っているやつがあった。

(?=regexp) 長さの無い、前方参照位置指定子。
(?!regexp) 長さの無い、前方参照否定位置指定子。

英語だと

(?=pattern) A zero-width positive lookahead assertion.
(?!pattern) A zero-width negative lookahead assertion.

わけわかんねぇな(w


302 名前:298 mailto:sage [03/07/14 23:48]
ありゃりゃ?

(?<=pattern) A zero-width positive lookbehind assertion.
(?<!pattern) A zero-width negative lookbehind assertion.

"lookbehind assertion" の訳語って何だ?




303 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/15 00:32]
「俺の背後に立つな」
デューク東郷の格言だろ。

304 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/15 00:35]
lookahead 見越し
lookbehind 見返り

305 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/15 01:01]
前後不覚だな。

306 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/15 03:12]
>>296
>オライリーの正規表現本は買ったほうがいいですか?

持ってなくても覚えられるし、
エディタのサーチとか grep とかで実験しながら
感覚的に慣れるのも悪くないんじゃない?

ただし emacs で覚え始めるのはすすめない。
backslash で混乱する。

307 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/15 07:21]
>>297
>>299
>>306
ちょっと大きな本屋に行って立ち読みしてみます。
ありがとうございました〜

308 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん

309 名前:名無しさん@お腹いっぱい。 mailto:age [03/07/17 13:35]
>>308
二度と目を覚ますな。


310 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん

311 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/20 21:36]
さげ保守

312 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/27 22:01]
OOはもうすぐ1.1出るけど、MSWORDよりセキュリティ大丈夫かな?
pc2.2ch.net/test/read.cgi/bsoft/1055292975/392




313 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん

314 名前:高校生 [03/08/02 17:12]
boo
baa
baz
っていうテキストが例だとして、sedを用いて、
booまたはbaz、っていう正規表現はどうなるの?
rubyやperlならパイプ記号で条件和の表現が出るけど、
同じように書いてもsedに誤解されてしまう。

315 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/02 17:52]
>>314 ん? \|使えば良いのでは


316 名前:高校生 mailto:sage [03/08/02 18:06]
sed 's/boo\|baa/hoge/g' ./hage.txt
とかだとやっぱりだめなんすよね。
「boo」とかの単語の括り方がよくわからんのです。

317 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/02 20:53]
GNU sed 4.0.7版 ではそれでもできてるけどな。
sed 's/\(boo\|baa\)/hoge/g' これでどう?


318 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/02 22:07]
>>317
gsedならできるがsedは食ってくれない。

319 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/03 01:09]
単一の正規表現じゃなきゃいかんの?
sedと決まってるなら
sed -e 's/boo/hoge/g' -e 's/baa/hoge/g'
でいいんちゃう?

置換後の文字列と置換前の文字列の片方とで重なりがある場合
どうするかひとしきりモメたりする ↓↓↓ のがお決まりだな。

320 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/03 09:52]
単一の正規表現でないと記述が冗長で見た目がキモイ、
っていうのはあると思うよ。
おいらはインストール直後のFreeBSDの環境構築をスクリプトに任せたくて、
結局シェルスクリプトにawkな記述を書いて解決した。
カーネルの再構築にしても、/etc/下の記述にしても、要はテキストの置換なわけで。
本当はrubyがFreeBSDの/usr/bin下にあるようなご時世だったら
楽ができるんだけど、そこら辺は個人的な勉強不足だなぁ。

321 名前:名無しさん@お腹いっぱい。 [03/08/13 19:13]
{a,b}上の言語Lが
『aaで開始し、かつ、bbを部分列として含む』という条件を満たす語からなるとき
Lを表す正規表現ってどうなるの?
L=aa(a*b*+bb)* ?

322 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/13 20:45]
L=aa(a+b)*bb(a+b)*



323 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/13 22:05]
>>321
*+ ???

324 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/13 23:05]
>323
'+'より'|'のほうが普通かな。
L=aa(a|b)*bb(a|b)*

本来的には連接、選択、閉包が表現できればいい。


325 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/13 23:08]
L ::= aA
A ::= aB
B ::= aB | bC
C ::= aB | bD
D ::= ε | aD | bD


326 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/13 23:34]
.*
何にでもマッチする最強の正規表現です!


327 名前:名無しさん@お腹いっぱい。 [03/08/13 23:50]
>>326
ドットが含まれてなかったらマッチしない罠


328 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/13 23:53]
キター

329 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/14 00:13]
ageてるし、ネタと見た。

330 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/14 23:29]
>>329
しね!

331 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん

332 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん



333 名前:名無しさん@お腹いっぱい。 [03/08/28 20:12]
うまづら。

334 名前:名無しさん@お腹いっぱい。 mailto:sage [03/09/02 03:30]
ほす。

335 名前:名無しさん@お腹いっぱい。 mailto:sage [03/09/14 04:27]
☆湯

336 名前:名無しさん@お腹いっぱい。 mailto:sage [03/09/16 13:49]
[ruby-list:38393] じゃないけど、[a-z] みたいな文字クラスの表現は、
EBCDIC とかだと「意図した通り」には動かないと思うんだけど、
ASCII か ASCII を包含したキャラクタセットという前提で書くべきものなの?

337 名前:名無しさん@お腹いっぱい。 mailto:sage [03/09/16 14:08]
>>336
[:lower:] とかは使っちゃだめ?

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

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

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

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


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

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

342 名前:名無しさん@お腹いっぱい。 mailto:sage :s/DEL.*$/ [03/10/12 17:15]
スレ違い。


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



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


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

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


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

347 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [03/11/05 19:01]
s/俺の存在//g;

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

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



353 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [03/11/19 09:17]
>>353
それ捕手じゃなくて投手やっ!www

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

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

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

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


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

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

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


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


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




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

364 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/30 00:14]
sedでやれってか?
漏れはへたれなので、Perlなどを使ってしまうが(w


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

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

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

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

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

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


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

371 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [04/01/15 23:45]
( ´∀`)



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

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


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

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


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

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


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

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

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


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



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

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

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

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

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


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


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


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

388 名前:名無しさん@お腹いっぱい。 [04/03/27 17:05]
[\\w$'-]
これはどういうことなのでしょう?
[\w$'-]
ならわかるのですが..

389 名前:名無しさん@お腹いっぱい。 mailto:sage [04/03/27 17:09]
>>388
処理系は何?

390 名前:名無しさん@お腹いっぱい。 [04/03/27 17:20]
>>389
Rubyです
Regexp::compile("\b\d[\d\.]+\d\b|[\w]+|[\\w$'-]+")
scanメソッドで英文を分割してます

391 名前:名無しさん@お腹いっぱい。 mailto:sage [04/03/27 17:22]
>>390
ほほう。バグってる悪寒。

392 名前:名無しさん@お腹いっぱい。 mailto:sage [04/03/27 17:25]
Regexp::compile("\\b\\d[\\d\\.,]+\\d\\b")
こんなのがあるんですが..



393 名前:名無しさん@お腹いっぱい。 mailto:sage [04/03/27 18:30]
>>392
Ruby で "..." の中で '\' を書くときは、'\' でエスケープする必要があるの。
つまり Regexp::compile("\\w") は /\w/ と同じ。

>>390 のだと '\' のエスケープが足りない部分があるように見える。
たとえば、 "\w" は "w" に、 "\b" は "\010" になっちゃう。
ので「バグってる悪寒」と言いました。

394 名前:名無しさん@お腹いっぱい。 mailto:sage [04/03/27 18:53]
>>393
なるほど、必死に\\と重ねる正規表現について調べてましたよ
ありがとう


395 名前:名無しさん@お腹いっぱい。 mailto:sage [04/03/30 01:42]
perl で質問です。

NOTE note "note" notes

上のような文字列を「book」だけを「note」に置換したいのですが
s/\bnote\b/book/g
のようにすると、ダブルクォートで囲まれているものも置換されてしまうのですが
それを

NOTE book "note" notes

のようにするにはどう表記すればよいのでしょうか?
詳しい方、教えてください。


396 名前:名無しさん@お腹いっぱい。 mailto:sage [04/03/30 04:15]
>>395
> NOTE note "note" notes
>
> 上のような文字列を「book」だけを「note」に置換したいのですが

397 名前:名無しさん@お腹いっぱい。 mailto:sage [04/03/30 10:07]
>>396
その下の
s/\bnote\b/book/g
ぐらい読んで多目にみてやれ。

>>395
とはいえ、仕様があいまいすぎ。
'note' はどうする? :note: は? "abc note def" は?

398 名前:名無しさん@お腹いっぱい。 mailto:sage [04/03/30 10:29]
s/ note / book /g
か?

>>397
> とはいえ、仕様があいまいすぎ。
んだな。

399 名前:名無しさん@お腹いっぱい。 mailto:sage [04/03/30 12:34]
>>395
s/(?=[^"])\bnote\b(?=[^"])/book/g;

# こんなんで良いわけないよなと思いつつ・・・

400 名前:名無しさん@お腹いっぱい。 mailto:sage [04/03/31 02:02]
>>397

> とはいえ、仕様があいまいすぎ。

すいません、おっしゃるとおりです。
ある単語(note)をある単語(book)に置換したいのですが、
ダブルクォートで囲まれているもの("note")は、その置換からは除外したいのです。

> 'note' はどうする? :note: は? "abc note def" は?

したがいまして、これらはとりあえず想定外で構わないので置換してしまっても構いません。
もう少し昨日の例を詳しく書きますと

NOTE,note"note"notes-note

このようなものでも

NOTE,book"note"notes-book

のようになってくれるのを期待しています。

ただ、"abc note def" これも想定外で構わないのですが
対応が可能であるのなら、私の勉強の為に教えてくださるとありがたく思います。

>>399
ありがとうございます。

>s/(?=[^"])\bnote\b(?=[^"])/book/g;
これを試してみました。
基本的にOKかなと思ったのですが、行頭、行末では置換の対象となってくれませんでした。



401 名前:名無しさん@お腹いっぱい。 mailto:sage [04/03/31 02:52]
>>400
補足です。
ここでいう単語とは \w+ で表せる範囲のもので、
アルファベット大文字、小文字も含めて完全に単語の
先頭から末尾までが一致するものです。


402 名前:名無しさん@お腹いっぱい。 mailto:sage [04/03/31 07:45]
もっと簡単にできるかもしれないけど、
s/(^|(?<=[^\w"]))note\b|\bnote($|(?=[^\w"]))/book/g;
とかは?

> ただ、"abc note def" これも想定外で構わないのですが

後ろから数えた"の個数が奇数ならマッチしないようにして、
$b =~ s/\bnote\b(?=([^"]*"[^"]*")*[^"]*$)/book/g;
とすれば、"のマッチングが保証できる範囲ではなんとかなるかも。
前からの"の個数でマッチさせようとしたら、
可変長のlook-behindは実装してないらしい。(perl 5.8)




403 名前:名無しさん@お腹いっぱい。 mailto:sage [04/03/31 14:53]
s/"note"/hogehoge/g
s/note/book/g
s/hogehoge/"note"/g
おれならこうしちゃうな。
考えんのめんどい。

404 名前:名無しさん@お腹いっぱい。 mailto:sage [04/04/01 01:10]
>>402

ありがとうございました。
たいへん勉強になりました。


405 名前:名無しさん@お腹いっぱい。 [04/04/07 15:07]
質問させてください。

&にはマッチして欲しいのですが、&にはマッチして欲しくないのです。

どのように記述すればよいのでしょう。

お願いします。

406 名前:405 [04/04/07 15:09]
&にはマッチ
&amp;にはマッチしない

でした。すいません。

407 名前:名無しさん@お腹いっぱい。 mailto:sage [04/04/07 15:26]
>>405
Perl5 でいい?

408 名前:名無しさん@お腹いっぱい。 mailto:sage [04/04/07 15:32]
>>405
/&(?!amp;)/

409 名前:名無しさん@お腹いっぱい。 mailto:sage [04/04/11 13:22]
正規表現のおすすめ書って何がありますか?

410 名前:名無しさん@お腹いっぱい。 mailto:sage [04/04/11 14:13]
オライリーのやつ。

411 名前:名無しさん@そうだ選挙に行こう [04/07/11 16:49]
ワイルドカード(DOS)の *.txt って、正規表現だとどう書くの?

412 名前:名無しさん@お腹いっぱい。 mailto:sage [04/07/11 20:35]
{(([0-9a-zA-Z]){0,})\.txt}とか半端に返してみるテスト



413 名前:名無しさん@お腹いっぱい。 mailto:sage [04/07/11 20:46]
[^\\/]+\.[Tt][Xx][Tx]\z とか (ry

414 名前:名無しさん@お腹いっぱい。 mailto:sage [04/07/11 22:41]
foo と bar 両方含む行をマッチさせたいんだけど、
awkでいうところの and演算子
% awk /foo/&&/bar/
が使える、windowsで動くgrepツールなんか教えてください。

#絞込み再検索のないGUIなgrepツールなんかイラネ

415 名前:名無しさん@お腹いっぱい。 [04/07/11 23:39]
>>412,413
. 記号は \ でエスケープになるのですね。.*\.txt でマッチはしました。
助かりました、ありがとうです。

416 名前:名無しさん@お腹いっぱい。 mailto:sage [04/07/12 22:46]
>>414

FIND "foo" | FIND "bar"

みたいのじゃ駄目?

417 名前:名無しさん@お腹いっぱい。 mailto:sage [04/07/14 00:51]
>>414
|が使えるツールなら、/foo.*bar|bar.*foo/とかで近似できるんじゃないの。
CygwinのGNU grepで試してみた。

> cat foobar.txt
foo
bar
foo foo
foo bar
bar bar
bar foo
> grep -n "foo.*bar\|bar.*foo" foobar.txt
4:foo bar
6:bar foo
>

418 名前:414 mailto:sage [04/07/23 03:17]
なるほど、andをorに展開すればいいのか。
しかし fooかつbarかつbazを検索、つーばあい展開すんのめんどくさいなぁ。

windowsのGUIなgrepツールは、サブフォルダも検索、とかできて
結構便利なのも歩けど、パイプとかorが使えなかったりしてイマイチ。

結局cygwinでawk使ってるけど、これもいまひとつメンドクサイ。
2chのログを検索してるだけなんだが_| ̄|○

419 名前:名無しさん@お腹いっぱい。 mailto:sage [04/07/29 01:12]
>>418
xyzzy の ggrep 辺りがいいんじゃない?

420 名前:名無しさん@お腹いっぱい。 [04/07/30 00:18]
Windows の AWKじゃだめですか?

421 名前:名無しさん@お腹いっぱい。 [04/08/03 09:48]
Perloしかないべ


422 名前:名無しさん@お腹いっぱい。 [04/08/06 22:51]
#から行末までをあらわす正規表現ってどうやればいいんでしょうか。



423 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/06 23:22]
#.*$

424 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/12 15:32]
#[^#]*$

425 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/24 00:25]
質問があります。

サクラエディタ(正規表現ライブラリ:BREGEXP.DLL)でCソース中のhogehogeをgrepしてた
場合に、コメント化(//)されている行だけは検索結果に表示したくないんですが、
どのような正規表現で検索すればいいでしょうか?


426 名前:名無しさん@お腹いっぱい。 [04/08/24 01:48]
あげ

427 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/24 01:56]
>>425
そのエディタよく知らないんだけど、Unix で動くの?

428 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/24 13:36]
スレタイだけ見て、板を確認してないんだと思われ。

429 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/24 13:43]
それを言うと、このスレ自体板違いな気もしなくはないが。ム板のだけで十分やん。

430 名前:425 [04/08/24 21:24]
UNIX板って知っていて質問をしましたが。
とりあえず、ム板に逝ってみます。

431 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/24 21:38]
>>430
Unix 用のソフトなの?

432 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/24 22:51]
>>431
is not UNIX



433 名前:名無しさん@お腹いっぱい。 [04/08/24 23:41]
多分エディタの種類はどうでもよくて、 /\/\*.*\*\/ とか、そんな答えを期待していたと思われ


434 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/05 06:33]
ム板の正規表現もとんと書き込みないから、テストしてみたら
書き込めた。ここもどうなんだか、書き込んでみる。

435 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/06 18:18]
ハハ*.*ハハ

436 名前:名無しさん@お腹いっぱい。 [04/09/07 16:51]
指定文字列A 何か 指定文字列B
という何かにヒットさせるにはどういう正規表現にすればいいですか?

437 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/07 17:18]
>>436
素で答えると「文字列A.*文字列B」だけど?そういう話?

もちろん文字列ABに特殊記号があったらどうするかとか、
.*は最長マッチでいいのとか、いろいろ細かい話はあるけど。

438 名前:436 [04/09/07 17:21]
自分で、
(文字列A).*{2,15}(文字列B)
とかでやってみたんですが、
マッチするのが、
指定文字列A 何か 指定文字列B
がマッチしてしまうので…

何か の部分だけを抽出しようと思ってます。

439 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/07 17:55]
後から取り出したい部分を()で囲む。(.*{2,15})みたいに。

440 名前:436 [04/09/08 01:37]
>>439さんの方法でも結果が変わりませんでした… 処理系が違うからかな?

とりあえず諦めて、
指定文字列A 何か 指定文字列B
をマッチさせて、指定文字列A+1文字目から 何か の文字数だけ切り取ることにします。

ありがとうございました。

441 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/08 02:28]
>>440
で、その処理系が何かを晒すつもりは毛頭無いわけですね?

442 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/08 10:13]
>>441
ハゲには無理



443 名前:436 mailto:sage [04/09/08 11:58]
何度もすいません。

C#です… 改めてやってみると>>439さんの方法でいけました。
group[1]に入ってたんですね。全体しか見てませんでした。

板違いにお騒がせしました。

444 名前:名無しさん@お腹いっぱい。 [04/09/10 00:33]
Perlの場合、

$_ = "いっぱい";
s/い/お/;          # おっぱい
s/い/お/g;         # おっぱお

ということでおk?

445 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/10 02:41]
  _  ∩
( ゚∀゚)彡 おっぱい!おっぱお!
 ⊂彡


446 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/10 15:00:12]
小学生のころ流行ったネタ

447 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/27 06:28:21]
性器表現

448 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/27 09:23:16]
ワロテモータ

449 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/27 11:29:59]
さんざん概出なのに・・・

450 名前: mailto:sage [04/10/13 14:29:29]



451 名前:名無しさん@お腹いっぱい。 mailto:sage [04/10/13 14:50:43]
.*

452 名前:ウサチャソ mailto:sage bill@microsoft.com [04/10/29 21:49:31]
↑アナルは性器じゃねーよな、とか思ってよく見ると、ドット米。
イボ痔か?



453 名前:名無しさん@お腹いっぱい。 mailto:sage [04/10/30 20:30:37]
>>452
拭き忘れたウンチだよ。きっと!

454 名前:名無しさん@お腹いっぱい。 [04/11/10 15:37:24]
regexp

455 名前:名無しさん@お腹いっぱい。 mailto:sage [04/11/26 21:14:34]
rege*p

456 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/16 23:14:21]
正規表現で複数の単語の中に「/」があるときにヒットさせたいんですが

echo "hoge / hoge" | grep "\</\>"

でだめでした・・。だれか修正をお願いしますorz


457 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/16 23:50:35]
>>456
条件をもっと明確に定義しろ。
マルチすんな。

458 名前:456 mailto:sage [04/12/17 00:16:01]
>>457

複数の単語の中で、"/"のみで構成される単語が存在する場合のみ
ヒットさせたいのです

つまり
a b c / d
上記ようなときで下記のどの事象にもヒットさせたくはないのです
// /a a/ a/a



459 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/17 01:22:18]
>>456
pc5.2ch.net/test/read.cgi/linux/1101654885/957
とこっちと、どっちで続けるのかね。

460 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/17 11:17:13]
まことに勝手ながらこちらで続けさせてください
質問を改めます
やりたいことは
-----------------------
1) echo "/" | grep ......
2) echo "/ a b" | grep ......
3) echo "a b /" | grep ......
4) echo "/a / b/" | grep ......
-----------------------
上ですべてマッチさせて
以下はすべてはじくようにしたいのです
-----------------------
5) echo "//" | grep ......
6) echo "// /// ////" | grep ......
7) echo "/a b/ /c/" | grep ......
-----------------------
上と下の違いは、前後にスペースを含む" / "が存在するか否かです

よって以下のように考えましたが、ヒットしませんでした
echo "a / b"|grep "\</\>"
echo "a / b"|grep "\<\/\>"

どなたか修正をおねがいしますorz


461 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/17 11:22:35]
>>460
grep と言ってもいろいろあるんだが
どの OS のどの grep よ。

462 名前:456 mailto:sage [04/12/17 11:23:16]
↑修正します

修正前)上と下の違いは、前後にスペースを含む" / "が存在するか否かです

修正後)上と下の違いは、単語 / が存在するか否かです



463 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/17 11:27:31]
>>460
> 上と下の違いは、前後にスペースを含む" / "が存在するか否かです
1) と 2) には存在しないようだが。

464 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/17 11:28:10]
>>462
「単語」とは?

465 名前:名無しさん@お腹いっぱい。 [04/12/18 00:00:37]
ブラケットの中でピリオドを入れる時ってメタキャラクタとして扱われますか?

[\w.]

[\w\.]
が同じ動きにになるみたいなんですけど・・・。

ちなみに、パールです。


466 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/18 02:48:16]
>>465
「みたい」じゃなくてテストコードで示してよ。

467 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/18 08:58:34]
どの言語の正規表現がどんな有限オートマトン使ってるという情報って
どこかにありますかねぇ。正規表現コンバータ作ろうかと思ってるのですが。。

NFA、DFAの違いぐらいは詳説正規表現の本でわかるのですが、実装ともなると。
オートマトンの変換に関してはコンパイラの本を参考にしてますが、
やはりかなりつらいものがありますね。たんに字句解析して作った方がいいのかなぁ。

468 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/18 09:16:42]
普通にNFA+DFAでいいじゃん

469 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/21 02:13:26]
オブジェクト指向正規表現の仕様策定はまだですか?

470 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/21 14:44:45]
>>469
聞いたことないな。
何それ?

471 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/21 19:26:19]
>>469
まかせた。

472 名前:名無しさん@お腹いっぱい。 [04/12/22 19:35:55]
お前らWinの.NETなんだが正規表現の質問をさせてくれ。

RegularExpressions.Regexで下の文字列を検索して<TD>から</TD>に分けたい。

string strHtml = "<TD>a</TD><TD>b</TD><TD>c</TD>"

Regex regex = Regex("<TD>.*</TD>");
MatchCollection matchcollection = regex.Matches(strHtml);

だと最長一致で "<TD>a</TD><TD>b</TD><TD>c</TD>"の1つのコレクション取得。

Regex regex = Regex("<TD>.*?</TD>");

だとやりたい "<TD>a</TD>", "<TD>b</TD>","<TD>c</TD>"の3つのコレクションが取得できる。

.*? の意味をアフォにも分かるように説明してくれ。
.*(任意の0文字以上)が?(あるかないか)だろ。
なんで思った通りに3つのコレクションが取得できるの?



473 名前:472 [04/12/22 19:38:29]
*? つーのは最短一致という便利なキーワードなのか。
つまらん質問失礼しますた。

474 名前:名無しさん@お腹いっぱい。 [05/01/07 22:21:40]
下がってるので、どれ一つ、とんちでも。
rubyでは
/aa+??/ =~ "a" => 0
emacsでは
"aa+??" =~ "a" => nil
さて、こうなってしまうのは、各々がどのようなオートマトンで
解釈されているからでしょうか。

475 名前:名無しさん@お腹いっぱい。 mailto:sage [05/01/08 07:36:53]
emacsって最短マッチあんの?

476 名前:名無しさん@お腹いっぱい。 mailto:sage [05/01/08 11:15:48]
ありましゅよー
ttp://www.cs.huji.ac.il/support/emacs/elisp-help/elisp-manref/elisp_34.html

でも、{m,n}? の最短マッチはないみたい…。

477 名前:名無しさん@お腹いっぱい。 mailto:sage [05/01/11 11:11:46]
最短マッチに対応した grep ってある?

478 名前:名無しさん@お腹いっぱい。 mailto:sage [05/01/11 13:31:51]
>>477
grep が最短マッチに対応してるかどうかが問題になるケースってある?

479 名前:名無しさん@お腹いっぱい。 mailto:sage [05/01/30 22:46:31 ]
[^ま]*まってかくのめんどくさい

480 名前:名無しさん@お腹いっぱい。 [05/02/26 05:47:57 ]
あげ

481 名前:名無しさん@お腹いっぱい。 [2005/03/30(水) 02:33:49 ]
up

482 名前:名無しさん@お腹いっぱい。 mailto:ほしゅsage [2005/04/19(火) 17:08:07 ]
正規表現の実装っていろいろあることにやっと気づいた漏れorz



483 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/05/14(土) 15:12:25 ]
ほしゅ

484 名前:名無しさん@お腹いっぱい。 [2005/05/16(月) 16:51:45 ]
abc xyzをaxbyczにしたいのですが

485 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/05/16(月) 17:05:02 ]
s/abc xyz/axbycz/g

486 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/05/16(月) 19:33:57 ]
ワロタ


487 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/05/16(月) 19:34:25 ]
保守

488 名前:名無しさん@お腹いっぱい。 [2005/05/17(火) 22:45:20 ]
>>484
echo abc xyz |sed -e "s/^/%/; :ll; s/[%]\(.\)\(.*\) \(.\)\(.*\)/\1\3%\2 \4/; tll; s/%//;"

489 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/05/18(水) 00:13:40 ]
うひょー

490 名前:名無しさん@お腹いっぱい。 mailto:ほしゅsage [2005/05/28(土) 03:19:18 ]
うに厨として、% をめぐる動きに溜息出た…真剣にありがと 何重にも目が覚めた

491 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/05/28(土) 05:32:41 ]
abc xyz でも
abcdefg ABCDEFG でもできるね。すげーや。

492 名前: ◆2fmGY.thDg mailto:sage [2005/06/02(木) 22:17:25 ]
a



493 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/06/04(土) 23:07:23 ]
('A`)

494 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/06/19(日) 02:53:08 ]
Onigurumaを使っているんですが、
あるテキストデータがあります。
----- ここから
END

注釈 ○○○
注意 △△△
補足 ◎◎◎

TITLE
----- ここまで
という部分の、ENDの後の空白行からTITLEの前の空白行の部分(間の行)を削除して、
ENDとTITLEの間は1行だけの空白行にしたいです。
「END\s^[0-9a-zA-Z。-゜ぁ-んァ-ヶ亜-?]*\sTITLE」を指定してもマッチしないんですが、
これは私の正規表現の式が間違えているんでしょうか?
(複数行を1度に選択する方法を間違えている???)

495 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/06/19(日) 03:13:31 ]
>>494
つーか、正規表現だけ見せられても判断できないと思うんだけど。
改行処理や文字コードのオプション設定はどうしてるかとかいろいろ情報が足りない。

496 名前:名無しさん@お腹いっぱい。 mailto:ほしゅsage [2005/07/13(水) 09:25:56 ]
素直に、
~s/END(\s*.*?\s*)TITLE/END\n\nTITLE/sg;
じゃダメ?

497 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/07/13(水) 13:15:24 ]
>>496
Oniguruma の質問なわけだが?

498 名前:名無しさん@お腹いっぱい。 mailto:ほしゅsage [2005/07/13(水) 17:54:26 ]
…とは思ったのだが、Perl 互換らしーから、いーかなとw

てか、見つかるのむちゃくちゃ早いなww
事後ながら、oniguruma (ライブラリ)取りに行った

499 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/07/13(水) 19:58:46 ]
>>498
> 見つかるのむちゃくちゃ早いなww
どういうこと?


500 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/07/17(日) 23:17:41 ]
>494
> 「END\s^[0-9a-zA-Z。-゜ぁ-んァ-ヶ亜-?]*\sTITLE」を指定してもマッチしないんですが、
> これは私の正規表現の式が間違えているんでしょうか?
> (複数行を1度に選択する方法を間違えている???)

これのどこが、複数行を一度に選択しているの?


501 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/07/19(火) 19:22:13 ]
>>500
ONIG_OPTION_MULTILINE (や REG_NEWLINE や RE_OPTION_MULTILINE など) をセット
しているかどうかで複数行選択できるかどうか変わるので、
そのへんを晒せばもうちょっと状況がわかると思うのだが、
元質問者はもう既にどっかいっちゃったのだろうな。

502 名前:名無しさん@お腹いっぱい。 [2005/09/21(水) 20:57:28 ]
正規表現で
○○ か ○○の場合と言うのはどう表現するのでしょうか?

Cで言う、 || のようなものです。



503 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/09/21(水) 21:07:45 ]
テンプレに何もないんだなこのスレ。
このあたりで調べろ

www.kt.rim.or.jp/%7Ekbk/regex/regex.html

504 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/09/21(水) 21:18:44 ]
\(>∀<\) キャー

505 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/09/21(水) 21:58:13 ]
(;`∇´))))))))))) \(>∀<\) キャー

506 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/09/21(水) 22:48:45 ]
俺ならこう→「\(○{2}\) か \1の場合」

507 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/09/21(水) 23:46:20 ]
何気に正規表現本もラッシュだな。


508 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/09/22(木) 00:19:11 ]
\([^ ]∀[^ ]*\)

AAみたいな正規表現を作りたいが難しい。

509 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/09/22(木) 02:52:41 ]
つくれてるやん!

510 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/09/23(金) 23:15:15 ]
∀ がメタキャラになってくれると楽しいかも


511 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/09/26(月) 20:32:51 ]
дも

512 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/09/28(水) 14:54:06 ]
ネタキャラ




513 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/09(金) 01:04:17 ]
純粋に興味の問題なんだけど、
「ある文字集合の要素が各1回ずつしか出現しない」という文字列は
正規表現で表現できる?

例えばA, B, Cの文字からなる言語を考えたとすると、
ABC ACB BAC BCA CAB CBAの6つの文字列にマッチする表現っす。

514 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/09(金) 01:08:23 ]
文字集合の濃度が有限なら
単に | でつなげばいいな。

515 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/09(金) 02:30:43 ]
いろは歌とか"a quick brown fox..."みたいなのにマッチさせる正規表現、
って書けば説明が早かったかもですね。

>>514
ひらがなの場合で47!個、アルファベットの場合で26!個の文字列を
|でつなぐってことになると思うんですが、やはりこれしか方法ないんですかね。
正規表現の長さは… アルファベットの場合でも約1京テラバイトか… orz

516 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/09(金) 09:42:38 ]
>>513
[^A]*A[^A]* ではどうよ

517 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/09(金) 09:53:24 ]
>>516
BBA にもマッチしちゃうんでは。

518 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/09(金) 09:57:44 ]
>>515
> "a quick brown fox..."みたいなのに
o 2回出てるよ。

実用を考えたら正規表現以外でやった方がいいな。

519 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/09(金) 19:50:27 ]
いろは歌って内容も傑作だよな。

520 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/09(金) 21:53:37 ]
> o 2回出てるよ。

おお、32年生きてて初めて気が付いたっす。漏れの目はfusianasanさんだ… orz

> 実用を考えたら正規表現以外でやった方がいいな。

そうことになっちゃいますかね。みなさんレスどうもでした。

521 名前:名無しさん@お腹いっぱい。 [2005/12/11(日) 08:09:16 ]
Windowsで正規表現にマッチする文字列のみ(行全体じゃなく)を表示・保存するにはどうすればいいのでしょうか?
xyzzyとかのエディタのgrepでやろうとしたのですが、検索してもよくわかりません。
Rubyとかスクリプト言語を使わないと無理でしょうか?


522 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/11(日) 08:13:57 ]
上すいません。書きこむスレ間違えました。(プログラム板の正規表現スレに書きこんだつもりでした。)



523 名前:名無しさん@お腹いっぱい。 [2005/12/11(日) 11:19:25 ]
ちょうど一回出るんなら何かの順序でソートして文字列が完全一致することをチェックかなあ

524 名前:名無しさん@お腹いっぱい。 [2006/01/01(日) 11:16:33 ]
エディターの正規表現で置き換えをしたいんですが・・・
1、2、3、・・・という連番を
(1) (2) (3)というふうに置き換えたいのですが
どうしたらよいでしょうか。

525 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/01(日) 11:57:28 ]
まずは(ry

526 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/01(日) 12:39:56 ]
置換元:[1-9]
置換先:(\0)
で、できるかもよ。

527 名前:名無しさん@お腹いっぱい。 [2006/01/01(日) 17:30:57 ]
>>526
だめでした。


528 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/01(日) 19:50:58 ]
置換元:[1-9][0-9]*
置換先:\(\0\)
こんな風にすればできるのかな?
どんな風に駄目だったかわからないけれど。

529 名前:名無しさん@お腹いっぱい。 [2006/01/01(日) 20:02:16 ]
>>528
それもやってみましたが、検索はされるのですが、
置き換えが出来ません。(0)となってしまいます。
前回のは(となってしまいます。
エディターだから駄目なのでしょうか。


530 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/01(日) 20:09:51 ]
\0のところを、
\1
$1
にしても同じかな?

531 名前:名無しさん@お腹いっぱい。 [2006/01/01(日) 20:13:18 ]
>>530
($1)となってしまいます。


532 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/01(日) 20:17:25 ]
そのエディタの正規表現がreference(\1とか$1とか)をサポートしてないに1票。



533 名前:名無しさん@お腹いっぱい。 [2006/01/01(日) 21:27:04 ]
!(^^)!ピンポーンです。
ヘルプを見ていたら、referenceはサポートしていないと出ていました。
他のエディターを探すか、どうしたらいいでしょうか。


534 名前:名無しさん@お腹いっぱい。 [2006/01/01(日) 23:17:07 ]
続きです
結局QXエディタをダウンロードして使いました。
びっくりしたのはWindows上では
正規表現というのは全然一般的ではないんですね。
勉強しようにも正規表現サポート自体が脆弱だったんですね。


535 名前: 【大凶】 3回目 mailto:sage [2006/01/01(日) 23:32:29 ]
ググればなんぼでも出てきます。少し自分で考えなはれ。

536 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/03(火) 22:49:27 ]
まあやることがハッキリ決まってるんなら、
(念の為)対象ファイルのカレントディレクトリのDOS窓を開いてsed、だな。

537 名前:名無しさん@お腹いっぱい。 [2006/01/07(土) 07:00:27 ]

{aaa}[bbb}{ccc}
という文字列から、aaa bbb cccをそれぞれマッチさせてとりだしたいので、

/¥{(.*)¥}¥{(.*)¥}¥{(.*)¥}/

としていましたが、
とりだしたい文字列のなかに、さらに{}がはいっていることがあることが
わかりました。
{aaa}[b{b}b}{ccc}
とか。
それぞれaaa b{b}b cccというかたちでとりだしたいのですが、どうしたものでしょうか。


538 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/07(土) 10:07:50 ]
>>537
sedはそのままでok

539 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/07(土) 14:56:41 ]
グループ化用のカッコにエスケープが必要だからsed「では」ダメじゃないの?
Perlならエスケープ不要なので大丈夫。

ところで>>537はテクニシャンだな。
navi2chで円マーク(¥じゃないほう)を表示させやがって…

540 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/07(土) 15:36:35 ]
>>539
ヒント:}{

541 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/07(土) 15:46:46 ]
いや、それは分かってるつもりだけど。
sedだと例えば{(aaa)}{(bbb)}{(ccc)}にマッチしちゃいますよってこと。

542 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/07(土) 17:31:15 ]
>>541
じゃあ不必要な{}()を最初にスペースに変換してからマッチさせたら



543 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/07(土) 18:58:38 ]
そんな必要ない。sedでも>>537のカッコをすべてエスケープすれば良い。
>>538の「sedは」というのが余分だっただけ。

544 名前:名無しさん@お腹いっぱい。 [2006/01/12(木) 05:55:00 ]
郵便番号をPHPで「1234567」から「123-4567」へ整形する正規表現を教えて下さい。

545 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/12(木) 11:06:51 ]
>>544
【PHP】質問スレッドpart32【php】
pc8.2ch.net/test/read.cgi/php/1136276300/

546 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/13(金) 16:59:36 ]
すいません。
--------------------------------
#hogehoge
fugafuga 1
--------------------------------
という風に行頭が#じゃないというのを正規表現で取得したいのですが
「ではない」というのが分かりません。
bashを用いております。
以上 ご助力をお願いいたします。

547 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/13(金) 20:50:59 ]
>>546
grep -v '^#'

548 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/13(金) 21:08:39 ]
>>546
grep '^[^#]'


549 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/13(金) 21:29:57 ]
いつも思うけど、
[^#] 形式だと文字が存在してないときも除外してしまうので
面倒なことあるよね。
ディレクトリリストから
.
..
を除外しようと
[^.][^.].*
を使って一文字のファイル見逃すとか。

550 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/13(金) 21:47:30 ]
>>549
その方が便利なこともある。

551 名前:544 mailto:sage [2006/01/16(月) 17:54:29 ]
ご教授ありがとうございます。
本当に助かりましたっ

552 名前:名無しさん@お腹いっぱい。 [2006/01/22(日) 02:37:32 ]
正規表現の正規表現ってどうかきますか?
ある値が正規表現の構文に沿っているかどうかを調べたいとき。



553 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/22(日) 02:48:16 ]
入れ子があるから正規表現にはならない。
BNFを書けば3型文法に属さないこと分かるでしょ。

554 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/26(木) 11:22:53 ]
いきなりすんません
2ちゃんねるブラウザ Jane Doe Style で正規表現検索を使おうとしたけど、書き方がいまいち分かりません。
F900i という文字列だけを検索して F900is や F900iT はヒットさせないようにするには、どう書けば良いですか
ぐぐってもいまいちわからないので。。。。

555 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/26(木) 11:25:48 ]
板違い。

556 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/26(木) 11:32:56 ]
スマンです。でもスレタイ検索してもほかに質問できそうな場所なかったんけどだめですか。

UNIX 085 正規表現 (553)
プログラム 408 正規表現part2 (102)
プログラマー 283 【Regular】正規表現【Expression】 (36)

557 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/26(木) 11:36:10 ]
板違い。

558 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/26(木) 11:49:12 ]


559 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/26(木) 13:16:13 ]
>>554
Jane Doe Style とやらがどんな正規表現エンジンを使っているかにも
激しく依存する話なので、
まずはそのソフトのスレで聞いてみた方が良いと思う。

560 名前:名無しさん@お腹いっぱい。 [2006/04/15(土) 16:30:37 ]
(・∀・)

561 名前:名無しさん@お腹いっぱい。 [2006/04/18(火) 03:51:57 ]
onigruma... 気になる。名前が怖い。

562 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/18(火) 09:54:32 ]
nekoguruma だったら弱そうだしな



563 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/02(火) 22:56:16 ]
>>562
いろいろ運べそうじゃないか

564 名前:名無しさん@お腹いっぱい。 [2006/05/29(月) 20:29:06 ]
正規表現厨には
grep --color


565 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/31(水) 19:33:06 ]
勉強ついでに554を考えてみた。精度に難がありそうですが、以下でどうだろう?

[^A-Zz-z0-9]*F900i[^A-Za-z0-9]*


566 名前:成瀬 ◆NBGqNARUSE mailto:sage [2006/06/16(金) 03:35:29 ]
>>565
最低限試そう。"F900iS"=~/[^A-Zz-z0-9]*F900i[^A-Za-z0-9]*/ はマッチする。
ヒント: \W \b 否定先読み

567 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/25(火) 12:40:49 ]
...
Doll ←ここから
\=\-\--\-``--`\=`-==\
\=-\=-\``\==`=`--`-=-

Egg
-=-\-=-\-\=-=--\=-=-=\
-=-\-=-=\=-=\=-=-\-=\- ←ここまで

Fruits
...

のときDoll〜Eggの項目まで抽出するにはどうしたらいいですか?
/Doll/,/Fruits/ でおおまかには抽出できるけどもっと正確に抽出したいのです

568 名前:名無しさん@お腹いっぱい。 [2006/08/09(水) 21:11:53 ]
『詳説 正規表現 第3版』 が今月発売されるね。
邦訳版の出版は知らんけど。

569 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/10(木) 13:32:24 ]
情報サンクス。
けど、洋書なら原書のタイトル表記でよろしく。
早とちりして必死で oreilly.co.jp と amazon.co.jp 探しちゃったよー。(←あほ)

570 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/10(木) 21:53:00 ]
>>569
www.oreilly.com/catalog/regex3/index.html

わざわざ、邦訳版の出版は知らんって書いたのになw

571 名前:名無しさん@お腹いっぱい。 [2006/08/18(金) 16:48:08 ]
oraclesqlpuzzle.hp.infoseek.co.jp/regex/index.html
正規表現の問題集らしい

572 名前:名無しさん@お腹いっぱい。 [2006/08/18(金) 17:01:57 ]
>>568
作者宣伝乙、
というのは冗談で、情報ありがと。
日本語版はいつ出るんだろ。



573 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/23(水) 13:58:51 ]
立ち読みとか読んだうちに入らんと思われた。

574 名前:名無しさん@お腹いっぱい。 [2006/08/23(水) 17:31:35 ]
>>177
oraclesqlpuzzle.hp.infoseek.co.jp/regex/regex-4-10.html
こんなのもあるみたいやね

575 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/05(木) 15:46:12 ]
age

576 名前:名無しさん@お腹いっぱい。 [2006/10/16(月) 10:51:27 ]
ageとくか

577 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/17(火) 01:00:23 ]
質問させてください。

正規表現を用いたgrepをするときに、
文字列"foo"を含まない全ての行にマッチさせるためには
どのように書けばよいのでしょうか。

578 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/17(火) 01:13:12 ]
-v

579 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/17(火) 08:26:14 ]
man に書いてあるよ。

580 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/17(火) 08:26:50 ]
-v オプションを使わずに、正規表現上で「文字列"foo"を含まない」を表す方法を
聞いているんじゃないだろうか?

581 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/17(火) 09:48:51 ]
(?!foo)

582 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/17(火) 11:12:35 ]
>>581
今はgrepでの話をしてんだろ。



583 名前:名無しさん@お腹いっぱい。 [2006/10/17(火) 13:02:02 ]
>>577
否定先読み

584 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/17(火) 13:37:52 ]
>>583
正規表現でできるものか!
先読み、後読み共に否定は貧弱

585 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/17(火) 18:14:48 ]
「一致しない」はあらゆる箇所にマッチするからね
行単位の処理とは基本的に相容れないし

正規表現でなく、-vのようなメタレベルで対処するのが正解
sedとかでもいいな

586 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/17(火) 19:17:42 ]
>>585
なんで、.*?(?!xxx) を、xxxが一切含まない行、と解釈してくれないんですかね?

587 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/17(火) 19:55:43 ]
論理的に考えてみればわかるよ

588 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/18(水) 09:59:12 ]
>>587
欲張りマッチだから、xxxが見つかった段階で一文字戻ってマッチにしちゃう?

589 名前:名無しさん@お腹いっぱい。 [2006/10/18(水) 11:10:22 ]
>>586
解釈するわけがない

590 名前:名無しさん@お腹いっぱい。 [2006/10/20(金) 10:45:16 ]
^(?!.*foo)
でできるだろ

pc8.2ch.net/test/read.cgi/tech/1156413899/l100
の1のサイトをよく読め

591 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/24(火) 10:00:30 ]
正規表現でできることの仕様ってずっとこのままなんですかね。
括弧の対を考慮した表現とかって簡単にならないかな。

592 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/24(火) 11:17:38 ]
処理系ごとに拡張してあったりするじゃん。



593 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/24(火) 11:28:08 ]
hp-uxのgrep糞だなw
\< \>が使えん。


594 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/24(火) 12:07:18 ]
grepツールで、htmlのコメント内を検索対象からはずしてgrepできるツールありますか?
コメントで死ぬほど引っかかって苦労してます。
複数行コメント中の真ん中ぐらいの行に引っかかっても、先頭に<!--がないから
普通のgrepツールだときびしいです。

595 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/24(火) 12:13:02 ]
sedしかないだろ。


596 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/24(火) 12:24:01 ]
-- の対応まで見ようとするとつらそうだ。

597 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/24(火) 21:37:54 ]
複数行になると途端にわけわからんくなるな・・・。

598 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/26(木) 05:24:59 ]
改行位置を変換する前処理をしてからやるとか

599 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/26(木) 11:38:24 ]
コメントを
s/<!(?:--[^-]*-(?:[^-]+-)*?-(?:[^>-]*(?:-[^>-]+)*?)??)*(?:>|$(?!\n)|--.*$)//g
で取り除いてからgrepすればいいんじゃね?

600 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/03(金) 14:20:22 ]
マルチで済まない。

同じ文字が3文字連続していたら表示したいのだが

601 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/03(金) 15:02:08 ]
>>599
>s/<!(?:--[^-]*-(?:[^-]+-)*?-(?:[^>-]*(?:-[^>-]+)*?)??)*(?:>|$(?!\n)|--.*$)//g
この部分はsed?
だったら、その後もgrepなんかせずに、sedだけで完結すればいいじゃん。
awkでも同じく。


602 名前:<sage> [2006/11/10(金) 19:30:45 ]
教えて下さい。

ダブルクオートで囲まれていない、コンマだけを置き換えたいのですが、
正規表現では、どうあらわせばいいのでしょうか?

例:
"aaa, bbb" xxxx, "ccc, ddd" yyyyyy

xxxx, <- このコンマを −> xxxx; とセミコロンにしたいです。

よろ



603 名前:名無しさん@お腹いっぱい。 [2006/11/13(月) 23:01:55 ]
>>602
pc8.2ch.net/test/read.cgi/tech/1156413899/l100
のリンク先嫁


604 名前:<sage> [2006/11/14(火) 15:35:11 ]
>> 603
そのページのどこを読めと?

605 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/22(水) 14:36:47 ]
>>604
ほぼ全部
雑魚には無理な正規表現ってこった

606 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/22(水) 20:49:29 ]
氏ね

607 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/26(日) 13:47:54 ]
>>602

◆関連サイト
正規表現メモ
www.kt.rim.or.jp/~kbk/regex/regex.html
Perl正規表現雑技
www.din.or.jp/~ohzaki/regex.htm
Regular Expression(Riue ちゃんの正規表現講座)
www.sixnine.net/regexp/
正規表現パズル
oraclesqlpuzzle.hp.infoseek.co.jp/regex/
詳説 正規表現
www.oreilly.co.jp/books/4873111307/
正規表現プログラミングFAQ
capslockabcjp.kitunebi.com/faq.html

これだけ読めば解決できるが
池沼には無理

608 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/04(月) 14:18:49 ]
アルファベットの文字で構成されるが、「d」は入らない、を
[a-ce-z]以外の書き方で表現する方法はないですか?

もちろん↓はエラーだけど、こんな漢字で書ければいいのだけれど。

[a-z][^c]

609 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/04(月) 19:22:18 ]
a|b|c|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z

610 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/04(月) 22:02:59 ]
>>608
javaならできる

611 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/04(月) 22:08:51 ]
d|i|g|i|t|a|l


612 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/05(火) 09:35:00 ]
>>610
どうやるんだべさ?



613 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/06(水) 02:45:07 ]
>>612
[[a-z]&&[^d]]
こんな感じだったと思う。


614 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/06(水) 09:44:34 ]
>>613
うぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉ〜、すげぇ〜。できました!
javaだとこんなのができるのか!
もちろん正規表現標準じゃないので、perlとか秀丸正規表現ではできないかぁ・・・

javaならではの裏技って他に何かあるんですかね?

615 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/06(水) 12:20:30 ]
>>614
うぉ++


616 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/06(水) 12:23:51 ]
タイプ数増えてるのは問題ないのかw

617 名前:615 mailto:sage [2006/12/06(水) 12:51:07 ]
>>614
わざわざjavaで試した行動力に感服

強欲マッチといわれる615もためしてみるといい

618 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/06(水) 13:11:31 ]
java使う人ならタイプ数が増えることが問なさそう

619 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/06(水) 14:12:54 ]
>>615
うぉ+でいいんじゃないの?なんか違うの?

620 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/06(水) 17:58:50 ]
(+_+;)

621 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/07(木) 02:56:32 ]
>>619

違うよ。++が付いたほうはバックトラックしない。
Perlの (?> ...) と同じ。


622 名前:名無しさん@お腹いっぱい。 mailto:saga [2006/12/16(土) 17:28:28 ]
1〜1000
までの数字から始まって最後が
C]
で終わる正規表現を教えて下さい
m(_ _)m



623 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/16(土) 17:45:19 ]
^[0-9]\{1,4\}[^0-9]*C]$
かな?


624 名前:名無しさん@お腹いっぱい。 mailto:saga [2006/12/16(土) 17:55:45 ]
>>623
駄目でしたorz
正規表現の勉強してきます。
有難うございましたm(_ _)m

625 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/16(土) 19:58:43 ]
^([1-9][0-9]\{0,2\}|1000)[^0-9]*C]$
こうか?


626 名前:名無しさん@お腹いっぱい。 [2006/12/17(日) 00:31:38 ]
タイトル:文字列 の文字列の部分だけを取り出したいのですが、
どのような正規表現にすれば良いのでしょうか?
よろしければ、ご教授を願います。


627 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/17(日) 00:34:12 ]
いろいろ出ているようだけど
[0-9].*C]
ではダメな理由がわからない

628 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/17(日) 00:52:14 ]
>>626
文..

629 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/17(日) 07:34:54 ]
>>627
全然ダメ

0000C
がヒットする

630 名前:名無しさん@お腹いっぱい。 [2006/12/28(木) 11:54:55 ]
初歩な質問ですみませんが
[0-9a-zA-Z]で英数字にマッチするものとなると思うのですが
例えばajgko-jk-s1olのように「-」記号が入っているとマッチしません
どう記述すればよいですか?よろしくお願いします。

631 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/28(木) 11:57:12 ]
>>630
[-0-9a-zA-Z]

632 名前:630 [2006/12/28(木) 12:01:22 ]
>>631
さんありがとうございます。
しかし上記のように記述しても読み込んでくれません・・・。
こう記述して[-0-9a-zA-Z]{10,10}
「BC-K-o58tB」これを認識してくれません。




633 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/28(木) 12:09:19 ]
どのアプリ使ってんのよ

634 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/28(木) 12:10:47 ]
>>632
ちゃんとマッチするけど・・


$ echo 'BC-K-o58tB' | egrep '[-0-9a-zA-Z]{10,10}'
BC-K-o58tB

635 名前:630 [2006/12/28(木) 12:11:07 ]
アプリ?良くわかりませんが言語PHPです。

636 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/28(木) 12:11:52 ]
ならPHPのスレで聞いた方がいいんじゃね

637 名前:630 [2006/12/28(木) 12:16:40 ]
PHPのスレで聞いたら正規表現に行けと言われました。orz

638 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/28(木) 14:04:02 ]
無限ループキタ━━━━━━(゚∀゚)━━━━━━ !!!!


639 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/28(木) 21:33:37 ]
PHPだとPOSIX由来の正規表現とPerl互換の正規表現があるけどどっち?
後者を使っているならpreg_match('/[-0-9a-zA-Z]{10,10}/', $str)みたいに
正規表現の前後にスラッシュが必要。

640 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/29(金) 11:07:30 ]
正規表現 part 3
pc8.2ch.net/test/read.cgi/tech/1156413899/


641 名前:名無しさん@お腹いっぱい。 [2007/01/09(火) 23:17:53 ]
始めたばっかりで、3時間かかってもダメです… お助けを。

()で囲まれる任意の文字部分だけをとりたいんですが、
\(..*\) では全然ダメですね… ()もついてくるし。

*****(ABC-_)(123%&)*****(あいう)***

上の例だと、以下の3つを取りたいです。
ABC-_
123%&
あいう

642 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/09(火) 23:43:33 ]
>>641
sed -e "s/(.*)/()/g" でどうよ



643 名前:名無しさん@お腹いっぱい。 [2007/01/10(水) 00:12:39 ]
>>642
Unix版でしたね…
Windows系でのやり方を知りたいです。

644 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/10(水) 00:19:56 ]
>>642
基礎からやり直せ。


645 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/10(水) 01:41:33 ]
>>642
なんか冗長だが...

use strict;
use warnings;
while(<>){
  s{(?:[^(]*)\(([^)]*)\)(?:[^(]*)}{[$1]}g;
  print $_;
}

646 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/10(水) 01:42:28 ]
>>643
Windowsにもsedは移植されてるじゃん。


647 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/10(水) 01:59:51 ]
>>643
板違い。

648 名前:名無しさん@お腹いっぱい。 [2007/01/18(木) 10:55:44 ]
>>641
正規表現でググレカス

649 名前:名無しさん@お腹いっぱい。 [2007/02/07(水) 08:21:33 ]
すみません、以下の正規表現は何にマッチするんでしょうか?
([\011\012\014 -~]+\\|\\(\\cj\\|\n\\)+\\)
処理系はLispです。お願いします。

650 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/08(木) 02:57:00 ]
>>649
LispつかEmacs Lispだろ。先頭に \\ が抜けてないか?

[\011\012\014 -~]+   タブかLFかCRかスペースかASCIIの表示可能文字の繰り返し

\\| または

\\(\\cj\\|\n\\)+  Cjって多バイト文字でいいんだっけ? か改行の繰り返し



651 名前:649 mailto:sage [2007/02/08(木) 15:45:20 ]
>>650
すみません、おっしゃる通り先頭に\\が抜けていました。
なるほど、どうもありがとうございました。

652 名前:名無しさん@お腹いっぱい。 [2007/03/27(火) 16:10:01 ]
コンマはエスケープする必要はありますか?

We are NOVA-TOMO\, right?



653 名前:名無しさん@お腹いっぱい。 [2007/03/27(火) 17:34:57 ]
必要ないと思った。付けても問題ないと思うけど。
むしろ?の方が…
俺詳しくないから何ともいえないけど

654 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/28(水) 01:44:02 ]
カンマはどの正規表現でもメタ文字じゃないのでエスケープの必要はない。
むしろ >>653のいうとおりで ? が要注意。

grep/sed ならエスケープなしでOK。
egrep/awk/perl その他Perl互換のものなら要エスケープ


655 名前:名無しさん@お腹いっぱい。 [2007/04/21(土) 22:17:17 ]
当方、秀丸を使っております。
“・”で始まる文で、「」で囲まれた文をヒットさせるのにはどうすればよいのでしょうか?
どうしても、「」で囲まれる前の文章もヒットしてしまうのです。

656 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/21(土) 22:55:33 ]
>>655
秀丸とやらはUnixで動くのかい?

657 名前:名無しさん@お腹いっぱい。 [2007/04/21(土) 23:03:01 ]
げ、UNIX版でしたか!
失礼しました。

658 名前:名無しさん@お腹いっぱい。 [2007/05/04(金) 12:21:16 ]
ニフティーのドメイン以外を拾う為に [^nifty]\.com と書くのは間違いのようですが

特定の“文字列”以外を指定するのはどーすりゃいいの?

659 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/04(金) 12:44:28 ]
否定先読みなどの拡張があればそれを使えばいいが、なくても
それ以外の文字列をすべて列挙すればなんとかなります。


660 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/04(金) 13:59:38 ]
grep -v '特定の文字列' filename


661 名前:名無しさん@お腹いっぱい。 [2007/05/04(金) 14:35:47 ]
正規表現の話では?

([^n]....|.[^i]...|..[^f]..|...[^t].|....[^y])\.com

これが正解

662 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/04(金) 14:54:42 ]
nifty.com以外のナントカ.comにマッチさせたいのだから、

([^n].*|n[^i].*|ni[^f].*|nif[^t].*|nift[^y].*)\.com

ではないか?



663 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/04(金) 14:56:11 ]
無理に正規表現でがんばるより
他の方法を探した方がいい。

664 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/04(金) 14:58:05 ]
それではniftyhoge.comにマッチしないので

([^n].*|n[^i].*|ni[^f].*|nif[^t].*|nift[^y].*|nifty..*)\.com


665 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/04(金) 15:58:18 ]
perlならもうちょっと簡単?
perl -ne 'print if /(?<!nifty)\.com/'

grep -v とか否定を使うほうが素直だと思うけど。

666 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/04(金) 16:31:54 ]
ヒネクレたひとたちばかりいるスレですから

667 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/04(金) 16:44:04 ]
このスレの中くらいは正規表現原理主義でいいじゃないか

668 名前:名無しさん@お腹いっぱい。 [2007/05/05(土) 00:26:33 ]
その為のスレなんだから当然といえば当然だろ


669 名前:名無しさん@お腹いっぱい。 mailto:111111111111111111111111111111111111 [2007/05/21(月) 19:09:39 ]
はふ

670 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/28(月) 22:36:56 ]
-rwxrwxr-x 1 53 53 3504 May 22 2006 index.htm
drwxrwxr-x 4 53 53 4096 May 6 2006 common
drwxrwxr-x 2 53 53 4096 May 22 2006 tmp
drwxrwxr-x 2 53 53 4096 May 22 2006 image

↑から<属性>(-rwxrwxr-x)と<名称>(index.htm)の部分をグループ化で取り出したいのですが、どのようにすればよいのでしょうか?


671 名前:名無しさん@お腹いっぱい。 [2007/05/28(月) 22:48:40 ]
ここは実は分かってない奴しかいねーから無理じゃね?ww

672 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 00:05:12 ]
>>670
グループ化って言うのがよくわからんけど、パーミッションの部分とファイル名の部分だけ取り出したいなら

$ perl -e 'while(<>){ if(/^([^\s]*)\s*([^\s]*)\s*([^\s]*)\s*([^\s]*)\s*([^\s]*)\s*([^\s]*)\s*([^\s]*)\s*([^\s]*)\s*(.*)$/){ print "$1 $9\n"; }}' < test.txt
-rwxrwxr-x index.htm
drwxrwxr-x common
drwxrwxr-x tmp
drwxrwxr-x image
$

ぐらいからはじめればいい。



673 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 01:44:17 ]
確かにみんなもっとスマートに書けないものかねえ・・・

674 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 02:31:04 ]
^([^\s]+)(.*)([^\s]+)$

$1 $3


675 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 03:06:51 ]
(; ^ω^)

676 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 07:07:47 ]
むしろ正規表現使わないでreaddirとstat使うとこじゃないか?


677 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 15:00:33 ]
$ ls -al | sed -e 's/ \{1,\}/ /g' | cut -d ' ' -f 1,9

cut 使うのは反則?

678 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/30(水) 16:06:37 ]
awk '{print $1,$9}'
で十分では無かろうかと

679 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/01(土) 07:33:23 ]
gawkでJavaソースファイル内の「識別子」単位の置き換えをしようとしていますが,
なかなかうまくいきません.
たとえば,独立して現れる「Stack」は「Queue」に置き換えるが,
「argStack」は別の識別子だから「argQueue」とは置き換えず
そのままにしておくというものです.
Javaの識別子は[_0-9A-Za-z]の文字だけから構成されるとしています.
awk以外の選択肢も含めて,よい方法がありますでしょうか?
最終的には,Javaで置換プログラムを書けばできなくもないとは思いますが,
安直な方法があればお教えください.

680 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/01(土) 08:57:42 ]
\< \> で囲っておくとか。

681 名前:679 mailto:sage [2007/09/01(土) 19:15:56 ]
grepの「-w」は普通にできるのに,いざ置換で同じことをしようとすると
難しいですね.
結局Javaで処理プログラムを書きました.ありがとうございました.

682 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 09:09:36 ]
hogeを含む行のうち^\s*'で始まらないもの
をgrepするのにvimでは
\(^\s*'.*\)\@<!hoge
でできるようなんですが、サクラで
(?<!^\s*'.*)hoge
とするとダメでした。
これをgrepするにはどうすればいいでしょうか?

サクラ(bregexp.dll)の正規表現はPerl5互換だそうなんですが。



683 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 09:53:00 ]
板違い。

684 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 11:08:21 ]
じゃあ
hogeを含む行のうち^\s*'で始まらないもの
にマッチするPerl5正規表現を答えよ。
とします。

685 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 11:28:24 ]
ム板行け。

686 名前:情報工学ばが [2008/01/15(火) 20:48:47 ]
正規表現ってなんですか?

687 名前:情報工学ばが [2008/01/15(火) 20:50:24 ]
はやく!!!
単位がないんです!!

688 名前:情報工学ばが [2008/01/15(火) 20:51:45 ]
お願いします。。。

689 名前:わし [2008/01/15(火) 20:55:01 ]
わしにはわからん。


690 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/16(水) 01:21:45 ]
>>686
【サルにもわかる正規表現入門】
www.mnet.ne.jp/~nakama/

691 名前:名無しさん@お腹いっぱい。 [2008/01/16(水) 12:24:11 ]
>>690
有難うございました。
おかげで単位取れそうやでー!!
ほな

692 名前:名無しさん@お腹いっぱい。 [2008/01/17(木) 00:37:01 ]
語り手緊急募集中!!

坐禅と見性第54章 片手の他人がたたく拍手の音
life9.2ch.net/test/read.cgi/psy/1192448109/

【仏教】悟りを開いた人のスレ 10 【鬼和尚】
life9.2ch.net/test/read.cgi/psy/1200142232/

【悟りで居る】悟りを開いた人スレ【完全お釈迦様派】
life9.2ch.net/test/read.cgi/psy/1198295563/

萬福寺行った。1.2
love6.2ch.net/test/read.cgi/kyoto/1188809052/

【茶の湯】  大徳寺について  【禅文化】
love6.2ch.net/test/read.cgi/kyoto/1145457556/

臨済宗 大本山天龍寺 2
love6.2ch.net/test/read.cgi/kyoto/1183216094/

【算盤】臨済宗 妙心寺派【金権】十五日は祝聖
love6.2ch.net/test/read.cgi/kyoto/1198725369/

★★臨済宗・癖有り布教師さん★★
love6.2ch.net/test/read.cgi/kyoto/1172800156/

臨済宗国泰寺派について
love6.2ch.net/test/read.cgi/kyoto/1151120179/

臨済宗相國寺派について
love6.2ch.net/test/read.cgi/kyoto/1146749623/



693 名前:名無しさん@お腹いっぱい。 [2008/02/24(日) 13:39:51 ]
2008-03 発売(予定)
「詳説 正規表現 第3版」 (Jeffrey E.F. Friedl 著 / 長尾高弘 訳)
ISBN 978-4-87311-359-3 定価 5,040円


694 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 17:10:30 ]
バイト代が全部本で消えていく・・・

695 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 18:03:30 ]
あるある

696 名前:名無しさん@お腹いっぱい。 [2008/02/26(火) 14:03:08 ]
2/1 XXXXXXXX
2/2〜2/5 XXXXXXXXX
2/7〜2/8 XXXXXXX
2/12 XXXXXXXXXX
2/20〜2/28 XXXXXXXXX

と書かれた行があり 今日より以前の日付の行を削除するにはどうすればいいですか

697 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/26(火) 15:50:38 ]
それは正規表現の問題か?

698 名前:名無しさん@お腹いっぱい。 [2008/02/26(火) 17:23:03 ]
Cの構造体のようにネストする可能性のあるものを正規表現で抽出するにはどうすればいいでしょうか?

699 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/26(火) 17:26:13 ]
無理

700 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/26(火) 21:47:00 ]
>>699
正解

701 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/26(火) 22:31:20 ]
>>696
日付の切り出しを正規表現でやって、日付の判定以降はプログラムでがんばれ。

702 名前:名無しさん@お腹いっぱい。 [2008/03/06(木) 14:24:40 ]
sedを使って
2007/1/2
2007/1/23
2007/12/2
2007/12/31
のデータを
2007/01/02
2007/01/23
2007/12/02
2007/12/31
にするにはどうすればいいですか





703 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 14:28:44 ]
sed -e 's,/1/,/01/,' -e 's,/2$,/02,'

704 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 17:14:22 ]
>>703
9日近く書き込み無いのによく質問に高速で答えられますね
尊敬するとともに変態だと思います。

705 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 17:15:08 ]
別に何日書き込みがなかろうが関係ない。

706 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 22:36:13 ]
>>704
今時ブラウザでみてる奇特な人かな?

別にこのスレを毎日人手でチェックしてるわけじゃなくて、
専ブラの巡回リストに入ってるだけのことだと思うよ。

まあ、確かに4分でレスするのはちょっとすごいが
よくよく見たら 2007/3/3 とかは変換しない...
ほんとにそれでいいのか? >>702

707 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 23:43:20 ]
>>703もわざとその答えにしたんだろ。
要するに質問の仕方が悪いって事だ。

708 名前:ウサチャソ ◆/0IEZmXnQ6 mailto:sage [2008/03/17(月) 21:53:04 ]
>>702
ゼロサプレス 正規表現
とか
ゼロパディング 正規表現
とかでググってみるといいかモナー
最近sedは使ってないから漏れはやり方知らんw

709 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/18(火) 14:24:00 ]
どの文字列にもマッチしない正規表現ってどう書くんでしょう?

710 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/18(火) 16:47:03 ]
(?<=a)a

711 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/19(水) 09:09:37 ]
空文字列にもマッチしない?

712 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/19(水) 23:02:47 ]
しないよ
というか自分で試せよ



713 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/21(金) 00:44:43 ]
710って、aaにマッチするよ
戻り読みの位置が違うんじゃね?


714 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/21(金) 20:07:35 ]
(?!a)a
こうかな

715 名前:名無しさん@お腹いっぱい。 [2008/06/02(月) 10:30:14 ]
Vimでファイルの中からhttpで始まり、htmlで終るURLを抜きだしたいのですが、
どのようにすれば可能でしょうか?
いろいろと試してはいるのですが、行中の最大にマッチする等なかなかうまくできません。

716 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/02(月) 11:38:21 ]
最短でマッチさせたらさせたで、
ディレクトリのどこかに .html があると破綻する

717 名前:名無しさん@お腹いっぱい。 [2008/06/03(火) 08:27:21 ]
emacs(の置換)と
perlのそれぞれで、

「日本語の文字列」を指定する正規表現が知りたいのですが、
どこを見ればよいでしょうか?

「ASCII文字を含まない文字列」でもOKです。


718 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/03(火) 13:33:02 ]
>>717
(info "(elisp)Regexp Backslash")
| `\cC'
| matches any character whose category is C. Here C is a character
| that represents a category: thus, `c' for Chinese characters or
| `g' for Greek characters in the standard category table.

というのがあるんだけど、C の説明が無いね。
\cj だった気がするけど、不具合があるかもしれん。

ASCII 以外だと、↓これはいかが?
(info "(elisp)Char Classes")
| `[:multibyte:]'
| This matches any multibyte character (*note Text
| Representations::).


719 名前:名無しさん@お腹いっぱい。 [2008/06/03(火) 14:36:53 ]
>>718

ありがとうございます。emacsのinfoではなく、
elisp infoにあるんですね。

「日本文字にはさまれたascii空白」を検索したかったので、

emacsでは"¥cj ¥cj" でだいたいよさそうです。

(どういうわけか
[:multibyte:]や[:nonascii:]
という指定は
C-u C-s などではうまく動いてくれないようなのですが・・・
(ascii文字の一部にマッチしてしまう)


720 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/03(火) 14:41:33 ]
>>719
> (どういうわけか
> [:multibyte:]や[:nonascii:]
> という指定は
> C-u C-s などではうまく動いてくれないようなのですが・・・
> (ascii文字の一部にマッチしてしまう)

[[:multibyte:]] としんとだめやよ。

721 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/03(火) 18:33:15 ]
あ、そういうことか!どもです。

722 名前:名無しさん@お腹いっぱい。 [2008/09/04(木) 15:15:43 ]
ttp://codezine.jp/article/detail/1573
やたら難しいのですが。
詳説正規表現を読めば、解けるようになりますかね?




723 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/05(金) 01:34:49 ]
>>722

難しいか? それ。


724 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/18(木) 18:37:47 ]
>>722
プログラミングperlの正規表現の解説部分を
読んでもなんとかなるかも(´・ω・`)

725 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/28(日) 20:34:23 ]
>>722
詳説正規表現は文字通り「詳説」。
正規表現を使うことが目的の人にはヘビーすぎる。


726 名前:わいきむら [2008/10/20(月) 09:09:22 ]
空の文字クラス'[]'はどういう意味になりますでしょうか?
あと'-'が文字クラスの最後にある場合もダッシュとマッチせよ
という意味になるのでしょうか?

727 名前:わいきむら [2008/10/20(月) 09:12:46 ]
すみませんダッシュじゃなくてハイフンですか

728 名前:船木康博 [2008/10/20(月) 09:14:08 ]
さーてと、
パソコンに於ける衛生面についてカキコして、
とりあえずここらでアクティブソナーにQSYするかなー♪

・VDT症候群に注意。
・腱鞘炎に注意。
・大音量による聴覚障害に注意。

マウスは玉の有り無しで、オスとメスがあるでよ。
光にも種類があるし、トラックボールもあるし。たまには玉の辺りの掃除でもしてやってくれ。
ボタンも林檎の1個や米窓の2個じゃなくて、SUNあたりなら3個あったんじゃねぇかなぁ。
最近じゃあ、ホイールも回転方向以外に左右に振れるのもあるでよ。

最後は、鍵盤だ。雑菌が繁殖して、便所より汚いモノもあるでなぁ。
病気移しちゃあいけねぇで、触らせる相手は自分で判断して制限しろよ。
おいもかはまぐり触った手かもしれねぇし、汁がとんでるかもしれねぇからな。

729 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/21(火) 02:39:30 ]
>>726

中身が空の [] はわからんが、末尾のハイフンはその通り。
範囲指定じゃなくてハイフンそのものとして解釈される。


730 名前:名無しさん@お腹いっぱい。 [2008/10/22(水) 17:48:58 ]
質問させてください。

Fortranのコードから、「subroutine abc()」「 subroutine abs()」のような
サブルーチンの開始行だけをgrepで抽出したくて
grep ^\s*subroutine ./*.f90
と書いたのですが、「 subroutine」で始まる行がマッチしていないようです。
どのようにしたらこれをマッチさせられるか教えてください。

ちなみに、コード内には
「! subroutine abc()」「!subroutine abc()」なども含まれています。

731 名前:730 [2008/10/22(水) 19:23:26 ]
>>730どなたか、ほんとお願いします!!

732 名前:ウサチャソ ◆/0IEZmXnQ6 mailto:sage [2008/10/22(水) 21:00:29 ]
>>730
' とか " で括ってないとか?

話逸れるけど、grep は egrep が一番速いらしいよ。
egrep は「(・∀・)イイ!! 」grep!
なんっつってw

はぁ〜…



733 名前:730 mailto:sage [2008/10/22(水) 21:25:28 ]
>>732そのとおりでした。

grep "^\s*subroutine" ./*.f90
としたらうまくいきました、ありがとうございます。


.....なんでこんなことに.....orz orz orz

734 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/23(木) 03:40:28 ]
「(・∀・)イイ!! 」grep!

735 名前:名無しさん@お腹いっぱい。 [2008/11/08(土) 14:16:27 ]
ムズいなこれ

codezine.jp/article/detail/3039
codezine.jp/article/detail/2676


736 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/15(土) 20:26:45 ]
機能的にegrepのが遅そうな気がするけど

737 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/19(水) 14:37:34 ]
>>735
正規文法(正規言語)には定義があるけど
正規表現に「数学的に厳密な定義」は存在しないと思うんだけどねー
まあ>>51でがいしゅつだったからどうでもいいや


738 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/26(日) 16:15:06 ]
教えていただけますでしょうか。

1(文字列A)文字列B

というものを
(文字列A)文字列B

にするのはどう書けばよいのでしょうか。
文字列A、文字列Bとも長さは不規則です。

739 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/30(木) 17:32:03 ]
sed 's/^.//'

740 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/30(木) 17:38:33 ]
すみませんが詳しい方のみ回答をお願いします

741 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/30(木) 18:41:27 ]
日本語や英語など特定の文字列をgoogle検索のリンクにしたいです。
例えば、「正規表現」という文字列をgoogleのリンクにしたい場合だと、

正規表現(せいきひょうげん、regular expression)とは、
文字列の集合を一つの文字列で表現する方法の一つである。
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
<a href="www.google.co.jp/search?q=%90%B3%8BK%95\%8C%BB">正規表現</a>
(せいきひょうげん、regular expression)とは、
文字列の集合を一つの文字列で表現する方法の一つである。

としたいです。ただし
・繰り返し1語1語適用することで複数の単語をリンク化する
 または一発で複数の単語をリンク化する方法でもいい
・すでにリンクされているものを二重にリンクしない
・タグ内の文字列はリンク化しない
・英語は文章内の単語が完全一致すればリンク化し、
 日本語は部分一致したらリンク化する
・英語の連語には対応しなくていい。
・リンク化したい文字列が「正規」「正規言語」などのように
 「正規」⊂「正規言語」という関係のものは想定しない
使う言語はAWK、Sed、Perlのいづれかとする。

お願いします。

742 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/30(木) 19:14:08 ]
その質問は正規表現スレで扱う範囲を越えてます。



743 名前:名無しさん@お腹いっぱい。 [2009/05/18(月) 22:21:54 ]
8桁の10進数を文字列とみなしたとき、
下2桁が"00"でない文字列をヒットしたい。如何すればよいか?

744 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/18(月) 22:33:28 ]
[0-9]{6}[1-9]{2}

745 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/19(火) 08:56:24 ]
[1-9][0-9]{5}([0-9][1-9]|[1-9][0-9])

746 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/03(水) 22:23:08 ]
正規表現でアルファベット6文字というのはどう書けばいいでしょう?

[A-z][A-z][A-z][A-z][A-z][A-z]

これじゃださいですよね?

747 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 09:42:14 ]
[A-z]{6}

748 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 09:57:06 ]
[A-z]だと[\]~_`を含むよ。[A-Za-z]{6}にしなはれ

749 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 10:22:05 ]
POSIX 正規表現が使えるなら [[:alpha:]]{6} とか。

750 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 10:29:36 ]
POSIX文字クラスはロケール依存の罠があるから避けた方が無難と思う

751 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/05(金) 02:21:52 ]
POSIX 文字クラスって [[:isalpha:]] みたいのを言うんじゃなかったっけ?



752 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/05(金) 02:23:34 ]
おっとなんか馬鹿なこと書いてしまった。

[a-z] も locale でどうマッチするかかわったりするよ?




753 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/13(土) 13:28:45 ]
ホント? \w とかなら変わると思うけど、
[a-z] は locale に依らず ASCII コードの範囲になるのでは?

754 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/17(水) 02:14:08 ]
書き込み禁止されてた。

>>753
どのUNIXでもそうなるとは断言できないけど、locale が en_us.UTF-8 とかのときに
a-z が aAbB….yYz な集合になるものもあるよ。

POSIX的には コード順だと定義はしてはいなかったはず。



755 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/17(水) 08:44:18 ]
文字列の範囲はロケールに依存する。例えば、エストニア語のアルファベット
では、s の後に z があり、その後は t、u、v、w、x、y と続くので、[a-z] で
はすべての小文字のアルファベットにマッチしない

756 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/22(月) 05:54:23 ]
うふふ

757 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/25(木) 21:28:07 ]
>>754
それはlocaleの問題でもOSの問題でもないだろ
例えばlgrepはデフォルトがcase insensitiveだし


758 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/26(金) 17:56:44 ]
>>757
問題が理解できてないようだな。君は話に加わらなくて良いよ。

759 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/26(金) 18:09:55 ]
それだけだとかわいそうなので補足すると、
>>754 が言ってるのは case sensitivity の問題じゃないよ。

>>754 のレスの「aAbB….yYz」をよーく目をこらしてみてごらん。
ロケールによってはこういう不思議現象が起こるのよという話。

760 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/13(月) 21:38:46 ]
ジオ落ちててonigurumaのソースが落とせん。
だれかミラー的なもの知らない?

761 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/13(月) 21:50:51 ]
いや、あったは、ミラー。<mirrorservice.orgとか

762 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/19(土) 19:50:17 ]
()内の、で区切られたものを
1(あああ、1) → 1(1、あああ)
2(ううう、3) → 2(3、ううう)
3(えええ、1) → 3(1、えええ)
のように入れ替えたいです。
条件は
・括弧は半角全角どちらでも対応。出力はどちらかに統一する。
・(あああ、いいい、ううう)のように3つ以上あるのは無視する

それと、こうやってもうまくいかないのは何故でしょうか?
sed -e 's/(/\(/g' -e 's/)/\)/g' -e 's/、/,/g' test.txt |
sed 's/\(([^,)]*),([^,)]*)\)/(\\2、\\1)/g'



763 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/19(土) 19:51:30 ]
こうやれば望みどおりの結果は出たのですが、
汎用性が低いのでもっとちゃんとしたのを作るにはどうしたらいいですか?

#!/bin/awk -f
BEGIN { FS="((|)|\\(|\\)|、| | +)" }
{
{print $1"("$3"、"$2$4")";}
}

764 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/05(土) 13:45:25 ]


765 名前:名無しさん@お腹いっぱい。 [2010/06/02(水) 05:32:30 ]


766 名前:名無しさん@お腹いっぱい。 [2010/06/02(水) 17:20:06 ]
arrow3.way-nifty.com/shige/images_pc/RegExp.png
www.codezine.jp/static/images/article/1655/config.jpg
mckyblog.img.jugem.jp/20090724_436625.png
www19.atpages.jp/imagelinkget/get.php?t=v&u=makotowatana.ld.infoseek.co.jp/VBScriptRegularExpressions.png
makotowatana.ld.infoseek.co.jp/text.gif


767 名前:名無しさん@お腹いっぱい。 [2010/09/23(木) 21:58:59 ]
行頭にある>以外の>を置換したいのですが、どのように記述できるでしょうか?


768 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/09/24(金) 11:09:22 ]
>>767
ヘタレな処理ですみません。動けば正義。
echo '>1>2>3>4>5>' | perl -ne '/^(.)(.*)/; ($a,$b)=($1,$2); $b=~s/>/*/g; print "$a$b\n";'

769 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/10/03(日) 22:07:49 ]
>>767
行頭にもし「>」が複数有れば二ツ目以降を削除する処理と
「>」以外が一文字以上続いてから「>」が一文字以上出現する文字列を
「>」以外が一文字以上続いている部分に置換する。
以上。

770 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/10/10(日) 09:52:22 ]
>>769
性器表現で書けよニダ

771 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/10/11(月) 21:58:34 ]
>>770

^>>+とか[^>]+とか
あえて書くことに意味は無いし、
削除や置換は正規表現では書けない。

文章の表面ではなく、コンテキストを嫁。

772 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/12(日) 10:48:21 ]
/RegEx/ - 便利な正規表現、みんなで共有
regex.gkbr.me/



773 名前:名無しさん@お腹いっぱい。 [2011/01/11(火) 08:29:20 ]

EmacsとpTeXを使っています。
pTeXでは日本語の括弧はいわゆる全角で書かないときれいに出ないみたいなので、
「(日本語)」のような表現を一発で「(日本語)」のように変換したいたと思うのですが、
これはどう書けばいいのでしょうか。

(日本語abc)や(Abc日本語)や(Abc日[改行コード]本語)のようなものにも
対応しなければならないような気がします。(abc)のようなのはそのままにしておきたいです。
てことは、 「両端が()で、()のなかにmultibyte文字が1文字でも入っているもの、複数行にも
マッチする」という条件でよさそうなのですが、どうでしょうか。

"([[:multibyte:]]+)"で(日本語)の形のやつまではわかったのですが、
その先に進めません。PerlのスクリプトでもOKですので教えてもらえないでしょうか。



774 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/11(火) 15:02:53 ]
>>773
入れ子になった括弧には未対応。
(replace-regexp "(\\([^\\(]*[[:multibyte:]][^\\)]*\\))" "(\\1)")

# pLaTex で otf 使えば大丈夫だったような?

775 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/11(火) 17:55:06 ]
ありがとうございます。うまく動くようです。

OTFパッケージの方は実験してみましたがやっぱり()と()は区別しているような・・・

776 名前:名無しさん@お腹いっぱい。 [2011/03/12(土) 12:19:28.18 ]
apacheのmod_rewriteでURLを書き換えたいと思っています。
以下が.htaccessのコードになります。
-------------------------------------------------------------------------
RewriteEngine On
RewriteRule ^([a-z0-9_-]+).htm$ execute.php?id=$1
-------------------------------------------------------------------------

例えば、”moge/test.htm”にアクセスすると”moge/execute.php?id=test”と同じようになるというものです。
ディレクトリにはexecute.phpの他にindex.htmを置きたいと思っているのですが、上のhtaccessを設置すると、”moge/execute.php?id=index”に飛ばされてしまいます。そこで、正規表現で特定の単語(index)を除外するにはどうすればいいのでしょうか?
ご回答お願いします。

777 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/03/12(土) 14:53:45.34 ]
Rewriteが htmなら

index.html ファイルにする

778 名前:776 mailto:sage [2011/03/12(土) 15:37:35.48 ]
>>777
あ、なるほど
確かにそれでもいけますね
さんくすです

ちなみに正規表現で特定の単語だけ除外っていうのはできないのでしょうか??

779 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/03/16(水) 20:14:08.75 ]
否定先読みでおk
あとマルチ乙

780 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/03/29(火) 11:43:28.27 ]
すっごく基本的なことで申し訳ないんだけど
aaaを含んでいてbbbを含まない行
ってのはどう書くんですか。

781 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/03/29(火) 12:00:15.87 ]
それは正規表現だけでやらなきゃだめなのかい?

782 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/03/29(火) 12:06:43.95 ]
grepでログの特定行を抽出したくて



783 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/03/29(火) 12:20:13.45 ]
grep -v

784 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/03/29(火) 12:29:14.56 ]
>>782
GNU grep で grep aaa logfile | grep -v bbb ってのじゃだめ?

785 名前:784 mailto:sage [2011/03/29(火) 12:30:38.86 ]
かぶったか

786 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/03/29(火) 12:47:45.98 ]
ああ、そっか。-v
ありがと

787 名前:名無しさん@お腹いっぱい。 [2011/04/08(金) 01:34:57.59 ]
vimの置換で以下のようなデータを置換したいです
hoge(半角空白*****)\tsage\t

hoge\tsage\t

:%s/ //g だとhogeが ho ge だったりもするので
半角空白が続く\tを\tにしたいです。
どなたかご教示お願いします

788 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/04/08(金) 02:09:54.62 ]
>>787
:%s/ \+\t/\t/g
とか?

本当にやりたいのは gg=G とか Align じゃないの

789 名前: 忍法帖【Lv=11,xxxPT】 [2011/06/22(水) 16:55:34.67 ]
aからz、かつAからZ、かつ0から9、かつその他記号(!"#$...)を含ませたいです。
[a-z&&A-Z&&0-9&&[^a-z^A-Z^0-9]]
とやってみたのですがうまく行きません。(´;ω;`)
どう表現すればいいでしょう。

790 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/22(水) 17:10:25.90 ]
.

791 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/22(水) 17:38:34.78 ]
>>789
むしろ含みたくない文字を列挙したほうが早いんじゃね?

792 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/23(木) 00:03:09.64 ]
>>789
それは印字可能な文字から空白を除いたものなんじゃあないのかい



793 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/07/08(金) 22:03:29.79 ]
肯定条件と否定条件、常にペアで考えたいところです

794 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/03(水) 03:28:35.00 ]
>>787

:%s/\(半角空白\**\)//g

・・・ではなくて、Excelでいう所のtrim関数みたいな動作か?

795 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/07(水) 21:00:09.49 ]
gsedをターミナルで実行したとき、
丸数字の1〜20が[\x{2460}-\x{2473}]でマッチせず
「無効な範囲の終端」というエラーメッセージが出ます。
何を間違えているのでしょうか。


796 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/07(水) 22:36:48.15 ]
>>794
> :%s/ //g
当人がチャレンジした結果がこれだから、タブ区切りの各値をtrimしたいんだろうと思うよ。

> 半角空白が続く\tを\tにしたい
ってことだから>>788でいいと思う。でも>>788の後半は違うと思う。

797 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/07(水) 22:41:28.98 ]
このスレ最近見てたと思ってたのに、8月だと…

798 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/08(木) 05:24:46.29 ]
>>795の自己レス
よく解らないのだけど、コードでなくそのまんま@からS(文字化けしていたらごめんなさい)
まで、1行ずつの置換行を書き並べたらうまくいきました。
コードだと1行ずつ書いてもダメでした。エラーは出なかったからコード間違えたかな。


799 名前:名無しさん@お腹いっぱい。 [2012/05/27(日) 23:08:25.45 ]
linuxのgrepでgreenとつく単語を検索したいのですが、どういう正規表現を使えばよいのでしょうか

800 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/28(月) 08:03:03.12 ]
>>799
くだらねえ質問はここに書き込め! Part 200
engawa.2ch.net/test/read.cgi/linux/1335349596/

801 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/13(火) 18:47:33.56 ]
リンゴ 1個
ミカン 2個
イチゴ 1個
スイカ 1個
スイカ 3個
ナシ
トマト
トマト
トマト
パイナップル

802 名前:アップミス失礼しました mailto:sage [2012/11/13(火) 18:51:10.04 ]
リンゴ 1個
ミカン 2個
スイカ 1個
スイカ 3個
イチゴ 2個
トマト 1個
トマト 3個
トマト 5個

リンゴ 1個
ミカン 2個
スイカ 1個 3個
イチゴ 2個
トマト 1個 3個 5個
のように整理したいとき、正規表現で実現可能ですか?



803 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/13(火) 21:24:23.96 ]
何言ってんだ。

804 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/14(水) 02:50:13.58 ]
>>802
例えば
sed
toro.2ch.net/test/read.cgi/unix/1085730992/l50

805 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/16(金) 20:13:34.67 ]
リンゴ 1個
スイカ 1個
ミカン 2個
スイカ 3個
イチゴ 2個

元データがこうなってない前提ならできるかもしれない

806 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/16(金) 21:56:43.28 ]
なってても出来ないことはないと思える

807 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/17(土) 00:18:53.21 ]
いや、正規表現どうこうって話じゃないだろ

808 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/17(土) 03:31:10.85 ]
まあ、そうだね

809 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/17(土) 15:01:28.93 ]
出発点になるテキストが規則的であればあるほど作業が楽になる。

810 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/17(土) 16:45:39.64 ]
sedスレで聞いてないね。perlやawkなど、どこか他で見た? ってか、本人どうしたの?

811 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/18(日) 02:35:29.83 ]
釣りだったようだな。

812 名前:802 mailto:sage [2012/11/20(火) 15:26:50.28 ]
いろいろ研究中ですが、釣りじゃありませんw
他のスレにまで投稿すると、マルチで蹴られてしまうからです。



813 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/20(火) 16:03:55.39 ]
マルチは同じ話題が並行して進行するのが問題。
ちゃんと移動すればマルチじゃないよ。

814 名前:名無しさん@お腹いっぱい。 [2012/11/20(火) 18:49:22.20 ]
以下のような文章があったとします。
〜aaa〜bbbaaa〜bbbaaa〜bbb〜
(〜は文字数の定まっていない文字列を表しています。)
ここから、それぞれ最初のaaa〜bbbだけを抽出、真ん中のaaa〜bbbだけを抽出、最後のaaa〜bbbだけをで抽出したい時、どう正規表現で表せばよいのでしょうか?

815 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/20(火) 20:13:44.36 ]
sedじゃだめなのかよ

816 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 02:55:30.50 ]
「aaa」と「bbb」を例えば「【」「】」に置き換えてみると楽かも。
【があって、】以外のものがあるかないかして、】があったとき
が検索パターンってことになるよね。ここまでが正規表現。
その後は、1回目にマッチしたときだけ吐き出す、最後にマッチしたものだけ……
は、何を使うかで変わってくる。

817 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 07:09:17.34 ]
>>816
「【」「】」に置き換えるんじゃなく、「aaa」と「bbb」の例でお願いします。
「【」「】」みたいな1文字じゃなく、「aaa」「bbb」みたいな複数文字なので。
しかも、「aaa」と「bbb」の間に普通の文字としてa bもあります。

818 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 08:20:17.05 ]
こいつ、何もわかってない

819 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 10:34:37.69 ]
perlの正規表現使わないと無理だと思うよ。

820 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 11:10:04.60 ]
こんな感じかな?
aaa[^b]*\(b\{0,2\}[^b]\+\)*b\{0,2\}bbb

821 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 11:16:22.41 ]
>>813の直後なのにマルチ

822 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 11:18:53.62 ]
移動してるからマルチじゃないだろ



823 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 11:27:34.16 ]
もっとタイムリーに本人出てこないとダレるわ

824 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 11:41:33.62 ]
>>822
toro.2ch.net/test/read.cgi/tech/1340383120/421

825 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 11:43:27.15 ]
>>824
おお、なるほど。
そんなところにも正規表現スレあったのか。

826 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 11:48:07.59 ]
マルチか。もう知らん。

827 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 19:22:47.43 ]
別人だと言ってるけど、それにしては似すぎ

828 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 19:39:46.55 ]
こっちの見て書いたんだろ。
別人だとしてもマルチと変わらんな。

829 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 19:53:25.11 ]
ここにもある。なんか、もうやだw

シェルスクリプト総合 その21
toro.2ch.net/test/read.cgi/unix/1352973453/l50

830 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 19:55:53.48 ]
というよりシェルのが大元なのか。まあ、移動すると書いてあるからいいか。

831 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/21(水) 23:32:17.64 ]
こっちの奴は句読点付けてるのな

832 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/22(木) 00:06:51.47 ]
> シェルスクリプトスレより誘導されてきました
って書いてあんじゃん。ってかなんでこっちのスレで話を続けてるのかがわからん。
マルチうざい放置でスルーしよ



833 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/22(木) 00:32:49.10 ]
どっちが偽物とか関係なく、向こうの正規表現スレだけで進行させときゃ済む話だしな






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<179KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef