- 1 名前:正規表現 mailto:正規表現 [02/12/06 18:09.net]
- 正規表現
- 477 名前:472 [04/12/22 19:38:29.net]
- *? つーのは最短一致という便利なキーワードなのか。
つまらん質問失礼しますた。
- 478 名前:名無しさん@お腹いっぱい。 [05/01/07 22:21:40.net]
- 下がってるので、どれ一つ、とんちでも。
rubyでは /aa+??/ =~ "a" => 0 emacsでは "aa+??" =~ "a" => nil さて、こうなってしまうのは、各々がどのようなオートマトンで 解釈されているからでしょうか。
- 479 名前:名無しさん@お腹いっぱい。 mailto:sage [05/01/08 07:36:53.net]
- emacsって最短マッチあんの?
- 480 名前:名無しさん@お腹いっぱい。 mailto:sage [05/01/08 11:15:48.net]
- ありましゅよー
ttp://www.cs.huji.ac.il/support/emacs/elisp-help/elisp-manref/elisp_34.html でも、{m,n}? の最短マッチはないみたい…。
- 481 名前:名無しさん@お腹いっぱい。 mailto:sage [05/01/11 11:11:46.net]
- 最短マッチに対応した grep ってある?
- 482 名前:名無しさん@お腹いっぱい。 mailto:sage [05/01/11 13:31:51.net]
- >>477
grep が最短マッチに対応してるかどうかが問題になるケースってある?
- 483 名前:名無しさん@お腹いっぱい。 mailto:sage [05/01/30 22:46:31 .net]
- [^ま]*まってかくのめんどくさい
- 484 名前:名無しさん@お腹いっぱい。 [05/02/26 05:47:57 .net]
- あげ
- 485 名前:名無しさん@お腹いっぱい。 [2005/03/30(水) 02:33:49 .net]
- up
- 486 名前:名無しさん@お腹いっぱい。 mailto:ほしゅsage [2005/04/19(火) 17:08:07 .net]
- 正規表現の実装っていろいろあることにやっと気づいた漏れorz
- 487 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/05/14(土) 15:12:25 .net]
- ほしゅ
- 488 名前:名無しさん@お腹いっぱい。 [2005/05/16(月) 16:51:45 .net]
- abc xyzをaxbyczにしたいのですが
- 489 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/05/16(月) 17:05:02 .net]
- s/abc xyz/axbycz/g
- 490 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/05/16(月) 19:33:57 .net]
- ワロタ
- 491 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/05/16(月) 19:34:25 .net]
- 保守
- 492 名前:名無しさん@お腹いっぱい。 [2005/05/17(火) 22:45:20 .net]
- >>484
echo abc xyz |sed -e "s/^/%/; :ll; s/[%]\(.\)\(.*\) \(.\)\(.*\)/\1\3%\2 \4/; tll; s/%//;"
- 493 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/05/18(水) 00:13:40 .net]
- うひょー
- 494 名前:名無しさん@お腹いっぱい。 mailto:ほしゅsage [2005/05/28(土) 03:19:18 .net]
- うに厨として、% をめぐる動きに溜息出た…真剣にありがと 何重にも目が覚めた
- 495 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/05/28(土) 05:32:41 .net]
- abc xyz でも
abcdefg ABCDEFG でもできるね。すげーや。
- 496 名前: ◆2fmGY.thDg mailto:sage [2005/06/02(木) 22:17:25 .net]
- a
- 497 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/06/04(土) 23:07:23 .net]
- ('A`)
- 498 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/06/19(日) 02:53:08 .net]
- Onigurumaを使っているんですが、
あるテキストデータがあります。 ----- ここから END 注釈 ○○○ 注意 △△△ 補足 ◎◎◎ TITLE ----- ここまで という部分の、ENDの後の空白行からTITLEの前の空白行の部分(間の行)を削除して、 ENDとTITLEの間は1行だけの空白行にしたいです。 「END\s^[0-9a-zA-Z。-゜ぁ-んァ-ヶ亜-?]*\sTITLE」を指定してもマッチしないんですが、 これは私の正規表現の式が間違えているんでしょうか? (複数行を1度に選択する方法を間違えている???)
- 499 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/06/19(日) 03:13:31 .net]
- >>494
つーか、正規表現だけ見せられても判断できないと思うんだけど。 改行処理や文字コードのオプション設定はどうしてるかとかいろいろ情報が足りない。
- 500 名前:名無しさん@お腹いっぱい。 mailto:ほしゅsage [2005/07/13(水) 09:25:56 .net]
- 素直に、
~s/END(\s*.*?\s*)TITLE/END\n\nTITLE/sg; じゃダメ?
- 501 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/07/13(水) 13:15:24 .net]
- >>496
Oniguruma の質問なわけだが?
- 502 名前:名無しさん@お腹いっぱい。 mailto:ほしゅsage [2005/07/13(水) 17:54:26 .net]
- …とは思ったのだが、Perl 互換らしーから、いーかなとw
てか、見つかるのむちゃくちゃ早いなww 事後ながら、oniguruma (ライブラリ)取りに行った
- 503 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/07/13(水) 19:58:46 .net]
- >>498
> 見つかるのむちゃくちゃ早いなww どういうこと?
- 504 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/07/17(日) 23:17:41 .net]
- >494
> 「END\s^[0-9a-zA-Z。-゜ぁ-んァ-ヶ亜-?]*\sTITLE」を指定してもマッチしないんですが、 > これは私の正規表現の式が間違えているんでしょうか? > (複数行を1度に選択する方法を間違えている???) これのどこが、複数行を一度に選択しているの?
- 505 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/07/19(火) 19:22:13 .net]
- >>500
ONIG_OPTION_MULTILINE (や REG_NEWLINE や RE_OPTION_MULTILINE など) をセット しているかどうかで複数行選択できるかどうか変わるので、 そのへんを晒せばもうちょっと状況がわかると思うのだが、 元質問者はもう既にどっかいっちゃったのだろうな。
- 506 名前:名無しさん@お腹いっぱい。 [2005/09/21(水) 20:57:28 .net]
- 正規表現で
○○ か ○○の場合と言うのはどう表現するのでしょうか? Cで言う、 || のようなものです。
- 507 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/09/21(水) 21:07:45 .net]
- テンプレに何もないんだなこのスレ。
このあたりで調べろ www.kt.
- 508 名前:rim.or.jp/%7Ekbk/regex/regex.html []
- [ここ壊れてます]
- 509 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/09/21(水) 21:18:44 .net]
- \(>∀<\) キャー
- 510 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/09/21(水) 21:58:13 .net]
- (;`∇´))))))))))) \(>∀<\) キャー
- 511 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/09/21(水) 22:48:45 .net]
- 俺ならこう→「\(○{2}\) か \1の場合」
- 512 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/09/21(水) 23:46:20 .net]
- 何気に正規表現本もラッシュだな。
- 513 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/09/22(木) 00:19:11 .net]
- \([^ ]∀[^ ]*\)
AAみたいな正規表現を作りたいが難しい。
- 514 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/09/22(木) 02:52:41 .net]
- つくれて
- 515 名前:驍竄! []
- [ここ壊れてます]
- 516 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/09/23(金) 23:15:15 .net]
- ∀ がメタキャラになってくれると楽しいかも
- 517 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/09/26(月) 20:32:51 .net]
- дも
- 518 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/09/28(水) 14:54:06 .net]
- ネタキャラ
- 519 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/09(金) 01:04:17 .net]
- 純粋に興味の問題なんだけど、
「ある文字集合の要素が各1回ずつしか出現しない」という文字列は 正規表現で表現できる? 例えばA, B, Cの文字からなる言語を考えたとすると、 ABC ACB BAC BCA CAB CBAの6つの文字列にマッチする表現っす。
- 520 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/09(金) 01:08:23 .net]
- 文字集合の濃度が有限なら
単に | でつなげばいいな。
- 521 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/09(金) 02:30:43 .net]
- いろは歌とか"a quick brown fox..."みたいなのにマッチさせる正規表現、
って書けば説明が早かったかもですね。 >>514 ひらがなの場合で47!個、アルファベットの場合で26!個の文字列を |でつなぐってことになると思うんですが、やはりこれしか方法ないんですかね。 正規表現の長さは… アルファベットの場合でも約1京テラバイトか… orz
- 522 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/09(金) 09:42:38 .net]
- >>513
[^A]*A[^A]* ではどうよ
- 523 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/09(金) 09:53:24 .net]
- >>516
BBA にもマッチしちゃうんでは。
- 524 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/09(金) 09:57:44 .net]
- >>515
> "a quick brown fox..."みたいなのに o 2回出てるよ。 実用を考えたら正規表現以外でやった方がいいな。
- 525 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/09(金) 19:50:27 .net]
- いろは歌って内容も傑作だよな。
- 526 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/09(金) 21:53:37 .net]
- > o 2回出てるよ。
おお、32年生きてて初めて気が付いたっす。漏れの目はfusianasanさんだ… orz > 実用を考えたら正規表現以外でやった方がいいな。 そうことになっちゃいますかね。みなさんレスどうもでした。
- 527 名前:名無しさん@お腹いっぱい。 [2005/12/11(日) 08:09:16 .net]
- Windowsで正規表現にマッチする文字列のみ(行全体じゃなく)を表示・保存するにはどうすればいいのでしょうか?
xyzzyとかのエディタのgrepでやろうとしたのですが、検索してもよくわかりません。 Rubyとかスクリプト言語を使わないと無理でしょうか?
- 528 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/11(日) 08:13:57 .net]
- 上すいません。書きこむスレ間違えました。(プログラム板の正規表現スレに書きこんだつもりでした。)
- 529 名前:名無しさん@お腹いっぱい。 [2005/12/11(日) 11:19:25 .net]
- ちょうど一回出るんなら何かの順序でソートして文字列が完全一致することをチェックかなあ
- 530 名前:名無しさん@お腹いっぱい。 [2006/01/01(日) 11:16:33 .net]
- エディターの正規表現で置き換えをしたいんですが・・・
1、2、3、・・・という連番を (1) (2) (3)というふうに置き換えたいのですが どうしたらよいでしょうか。
- 531 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/01(日) 11:57:28 .net]
- まずは(ry
- 532 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/01(日) 12:39:56 .net]
- 置換元:[1-9]
置換先:(\0) で、できるかもよ。
- 533 名前:名無しさん@お腹いっぱい。 [2006/01/01(日) 17:30:57 .net]
- >>526
だめでした。
- 534 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/01(日) 19:50:58 .net]
- 置換元:[1-9][0-9]*
置換先:\(\0\) こんな風にすればできるのかな? どんな風に駄目だったかわからないけれど。
- 535 名前:名無しさん@お腹いっぱい。 [2006/01/01(日) 20:02:16 .net]
- >>528
それもやってみましたが、検索はされるのですが、 置き換えが出来ません。(0)となってしまいます。 前回のは(となってしまいます。 エディターだから駄目なのでしょうか。
- 536 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/01(日) 20:09:51 .net]
- \0のところを、
\1 $1 にしても同じかな?
- 537 名前:名無しさん@お腹いっぱい。 [2006/01/01(日) 20:13:18 .net]
- >>530
($1)となってしまいます。
- 538 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/01(日) 20:17:25 .net]
- そのエディタの正規表現がreference(\1とか$1とか)をサポートしてないに1票。
- 539 名前:名無しさん@お腹いっぱい。 [2006/01/01(日) 21:27:04 .net]
- !(^^)!ピンポーンです。
ヘルプを見ていたら、referenceはサポートしていないと出ていました。 他のエディターを探すか、どうしたらいいでしょうか。
- 540 名前:名無しさん@お腹いっぱい。 [2006/01/01(日) 23:17:07 .net]
- 続きです
結局QXエディタをダウンロードして使いました。 びっくりしたのはWindows上では 正規表現というのは全然一般的ではないんですね。 勉強しようにも正規表現サポート自体が脆弱だったんですね。
- 541 名前: 【大凶】 3回目 mailto:sage [2006/01/01(日) 23:32:29 .net]
- ググればなんぼでも出てきます。少し自分で考えなはれ。
- 542 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/03(火) 22:49:27 .net]
- まあやることがハッキリ決まってるんなら、
(念の為)対象ファイルのカレントディレクトリのDOS窓を開いてsed、だな。
- 543 名前:名無しさん@お腹いっぱい。 [2006/01/07(土) 07:00:27 .net]
-
{aaa}[bbb}{ccc} という文字列から、aaa bbb cccをそれぞれマッチさせてとりだしたいので、 /¥{(.*)¥}¥{(.*)¥}¥{(.*)¥}/ としていましたが、 とりだしたい文字列のなかに、さらに{}がはいっていることがあることが わかりました。 {aaa}[b{b}b}{ccc} とか。 それぞれaaa b{b}b cccというかたちでとりだしたいのですが、どうしたものでしょうか。
- 544 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/07(土) 10:07:50 .net]
- >>537
sedはそのままでok
- 545 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/07(土) 14:56:41 .net]
- グループ化用のカッコにエスケープが必要だからsed「では」ダメじゃないの?
Perlならエスケープ不要なので大丈夫。 ところで>>537はテクニシャンだな。 navi2chで円マーク(¥じゃないほう)を表示させやがって…
- 546 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/07(土) 15:36:35 .net]
- >>539
ヒント:}{
- 547 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/07(土) 15:46:46 .net]
- いや、それは分かってるつもりだけど。
sedだと例えば{(aaa)}{(bbb)}{(ccc)}にマッチしちゃいますよってこと。
- 548 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/07(土) 17:31:15 .net]
- >>541
じゃあ不必要な{}()を最初にスペースに変換してからマッチさせたら
- 549 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/07(土) 18:58:38 .net]
- そんな必要ない。sedでも>>537のカッコをすべてエスケープすれば良い。
>>538の「sedは」というのが余分だっただけ。
- 550 名前:名無しさん@お腹いっぱい。 [2006/01/12(木) 05:55:00 .net]
- 郵便番号をPHPで「1234567」から「123-4567」へ整形する正規表現を教えて下さい。
- 551 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/12(木) 11:06:51 .net]
- >>544
【PHP】質問スレッドpart32【php】 pc8.2ch.net/test/read.cgi/php/1136276300/
- 552 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/13(金) 16:59:36 .net]
- すいません。
-------------------------------- #hogehoge fugafuga 1 -------------------------------- という風に行頭が#じゃないというのを正規表現で取得したいのですが 「ではない」というのが分かりません。 bashを用いております。 以上 ご助力をお願いいたします。
- 553 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/13(金) 20:50:59 .net]
- >>546
grep -v '^#'
- 554 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/13(金) 21:08:39 .net]
- >>546
grep '^[^#]'
- 555 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/13(金) 21:29:57 .net]
- いつも思うけど、
[^#] 形式だと文字が存在してないときも除外してしまうので 面倒なことあるよね。 ディレクトリリストから . .. を除外しようと [^.][^.].* を使って一文字のファイル見逃すとか。
- 556 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/13(金) 21:47:30 .net]
- >>549
その方が便利なこともある。
- 557 名前:544 mailto:sage [2006/01/16(月) 17:54:29 .net]
- ご教授ありがとうございます。
本当に助かりましたっ
- 558 名前:名無しさん@お腹いっぱい。 [2006/01/22(日) 02:37:32 .net]
- 正規表現の正規表現ってどうかきますか?
ある値が正規表現の構文に沿っているかどうかを調べたいとき。
- 559 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/22(日) 02:48:16 .net]
- 入れ子があるから正規表現にはならない。
BNFを書けば3型文法に属さないこと分かるでしょ。
- 560 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/26(木) 11:22:53 .net]
- いきなりすんません
2ちゃんねるブラウザ Jane Doe Style で正規表現検索を使おうとしたけど、書き方がいまいち分かりません。 F900i という文字列だけを検索して F900is や F900iT はヒットさせないようにするには、どう書けば良いですか ぐぐってもいまいちわからないので。。。。
- 561 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/26(木) 11:25:48 .net]
- 板違い。
- 562 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/26(木) 11:32:56 .net]
- スマンです。でもスレタイ検索してもほかに質問できそうな場所なかったんけどだめですか。
UNIX 085 正規表現 (553) プログラム 408 正規表現part2 (102) プログラマー 283 【Regular】正規表現【Expression】 (36)
- 563 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/26(木) 11:36:10 .net]
- 板違い。
- 564 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/26(木) 11:49:12 .net]
- 逝
- 565 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/26(木) 13:16:13 .net]
- >>554
Jane Doe Style とやらがどんな正規表現エンジンを使っているかにも 激しく依存する話なので、 まずはそのソフトのスレで聞いてみた方が良いと思う。
- 566 名前:名無しさん@お腹いっぱい。 [2006/04/15(土) 16:30:37 .net]
- (・∀・)
- 567 名前:名無しさん@お腹いっぱい。 [2006/04/18(火) 03:51:57 .net]
- onigruma... 気になる。名前が怖い。
- 568 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/18(火) 09:54:32 .net]
- nekoguruma だったら弱そうだしな
- 569 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/02(火) 22:56:16 .net]
- >>562
いろいろ運べそうじゃないか
- 570 名前:名無しさん@お腹いっぱい。 [2006/05/29(月) 20:29:06 .net]
- 正規表現厨には
grep --color
- 571 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/31(水) 19:33:06 .net]
- 勉強ついでに554を考えてみた。精度に難がありそうですが、以下でどうだろう?
[^A-Zz-z0-9]*F900i[^A-Za-z0-9]*
- 572 名前:成瀬 ◆NBGqNARUSE mailto:sage [2006/06/16(金) 03:35:29 .net]
- >>565
最低限試そう。"F900iS"=~/[^A-Zz-z0-9]*F900i[^A-Za-z0-9]*/ はマッチする。 ヒント: \W \b 否定先読み
- 573 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/25(火) 12:40:49 .net]
- ...
Doll ←ここから \=\-\--\-``--`\=`-==\ \=-\=-\``\==`=`--`-=- Egg -=-\-=-\-\=-=--\=-=-=\ -=-\-=-=\=-=\=-=-\-=\- ←ここまで Fruits ... のときDoll〜Eggの項目まで抽出するにはどうしたらいいですか? /Doll/,/Fruits/ でおおまかには抽出できるけどもっと正確に抽出したいのです
- 574 名前:名無しさん@お腹いっぱい。 [2006/08/09(水) 21:11:53 .net]
- 『詳説 正規表現 第3版』 が今月発売されるね。
邦訳版の出版は知らんけど。
- 575 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/10(木) 13:32:24 .net]
- 情報サンクス。
けど、洋書なら原書のタイトル表記でよろしく。 早とちりして必死で oreilly.co.jp と amazon.co.jp 探しちゃったよー。(←あほ)
- 576 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/10(木) 21:53:00 .net]
- >>569
www.oreilly.com/catalog/regex3/index.html わざわざ、邦訳版の出版は知らんって書いたのになw
- 577 名前:名無しさん@お腹いっぱい。 [2006/08/18(金) 16:48:08 .net]
- oraclesqlpuzzle.hp.infoseek.co.jp/regex/index.html
正規表現の問題集らしい
|

|