- 1 名前:正規表現 mailto:正規表現 [02/12/06 18:09.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
正規表現の問題集らしい
- 578 名前:名無しさん@お腹いっぱい。 [2006/08/18(金) 17:01:57 .net]
- >>568
作者宣伝乙、 というのは冗談で、情報ありがと。 日本語版はいつ出るんだろ。
- 579 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/23(水) 13:58:51 .net]
- 立ち読みとか読んだうちに入らんと思われた。
- 580 名前:名無しさん@お腹いっぱい。 [2006/08/23(水) 17:31:35 .net]
- >>177
oraclesqlpuzzle.hp.infoseek.co.jp/regex/regex-4-10.html こんなのもあるみたいやね
- 581 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/05(木) 15:46:12 .net]
- age
- 582 名前:名無しさん@お腹いっぱい。 [2006/10/16(月) 10:51:27 .net]
- ageとくか
- 583 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/17(火) 01:00:23 .net]
- 質問させてください。
正規表現を用いたgrepをするときに、 文字列"foo"を含まない全ての行にマッチさせるためには どのように書けばよいのでしょうか。
- 584 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/17(火) 01:13:12 .net]
- -v
- 585 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/17(火) 08:26:14 .net]
- man に書いてあるよ。
- 586 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/17(火) 08:26:50 .net]
- -v オプションを使わずに、正規表現上で「文字列"foo"を含まない」を表す方法を
聞いているんじゃないだろうか?
- 587 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/17(火) 09:48:51 .net]
- (?!foo)
- 588 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/17(火) 11:12:35 .net]
- >>581
今はgrepでの話をしてんだろ。
- 589 名前:名無しさん@お腹いっぱい。 [2006/10/17(火) 13:02:02 .net]
- >>577
否定先読み
- 590 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/17(火) 13:37:52 .net]
- >>583
正規表現でできるものか! 先読み、後読み共に否定は貧弱
- 591 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/17(火) 18:14:48 .net]
- 「一致しない」はあらゆる箇所にマッチするからね
行単位の処理とは基本的に相容れないし 正規表現でなく、-vのようなメタレベルで対処するのが正解 sedとかでもいいな
- 592 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/17(火) 19:17:42 .net]
- >>585
なんで、.*?(?!xxx) を、xxxが一切含まない行、と解釈してくれないんですかね?
- 593 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/17(火) 19:55:43 .net]
- 論理的に考えてみればわかるよ
- 594 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/18(水) 09:59:12 .net]
- >>587
欲張りマッチだから、xxxが見つかった段階で一文字戻ってマッチにしちゃう?
- 595 名前:名無しさん@お腹いっぱい。 [2006/10/18(水) 11:10:22 .net]
- >>586
解釈するわけがない
- 596 名前:名無しさん@お腹いっぱい。 [2006/10/20(金) 10:45:16 .net]
- ^(?!.*foo)
でできるだろ pc8.2ch.net/test/read.cgi/tech/1156413899/l100 の1のサイトをよく読め
- 597 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/24(火) 10:00:30 .net]
- 正規表現でできることの仕様ってずっとこのままなんですかね。
括弧の対を考慮した表現とかって簡単にならないかな。
- 598 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/24(火) 11:17:38 .net]
- 処理系ごとに拡張してあったりするじゃん。
- 599 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/24(火) 11:28:08 .net]
- hp-uxのgrep糞だなw
\< \>が使えん。
- 600 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/24(火) 12:07:18 .net]
- grepツールで、htmlのコメント内を検索対象からはずしてgrepできるツールありますか?
コメントで死ぬほど引っかかって苦労してます。 複数行コメント中の真ん中ぐらいの行に引っかかっても、先頭に<!--がないから 普通のgrepツールだときびしいです。
- 601 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/24(火) 12:13:02 .net]
- sedしかないだろ。
- 602 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/24(火) 12:24:01 .net]
- -- の対応まで見ようとするとつらそうだ。
- 603 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/24(火) 21:37:54 .net]
- 複数行になると途端にわけわからんくなるな・・・。
- 604 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/26(木) 05:24:59 .net]
- 改行位置を変換する前処理をしてからやるとか
- 605 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/26(木) 11:38:24 .net]
- コメントを
s/<!(?:--[^-]*-(?:[^-]+-)*?-(?:[^>-]*(?:-[^>-]+)*?)??)*(?:>|$(?!\n)|--.*$)//g で取り除いてからgrepすればいいんじゃね?
- 606 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/03(金) 14:20:22 .net]
- マルチで済まない。
同じ文字が3文字連続していたら表示したいのだが
- 607 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/03(金) 15:02:08 .net]
- >>599
>s/<!(?:--[^-]*-(?:[^-]+-)*?-(?:[^>-]*(?:-[^>-]+)*?)??)*(?:>|$(?!\n)|--.*$)//g この部分はsed? だったら、その後もgrepなんかせずに、sedだけで完結すればいいじゃん。 awkでも同じく。
- 608 名前:<sage> [2006/11/10(金) 19:30:45 .net]
- 教えて下さい。
ダブルクオートで囲まれていない、コンマだけを置き換えたいのですが、 正規表現では、どうあらわせばいいのでしょうか? 例: "aaa, bbb" xxxx, "ccc, ddd" yyyyyy xxxx, <- このコンマを −> xxxx; とセミコロンにしたいです。 よろ
- 609 名前:名無しさん@お腹いっぱい。 [2006/11/13(月) 23:01:55 .net]
- >>602
pc8.2ch.net/test/read.cgi/tech/1156413899/l100 のリンク先嫁
- 610 名前:<sage> [2006/11/14(火) 15:35:11 .net]
- >> 603
そのページのどこを読めと?
- 611 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/22(水) 14:36:47 .net]
- >>604
ほぼ全部 雑魚には無理な正規表現ってこった
- 612 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/22(水) 20:49:29 .net]
- 氏ね
- 613 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/26(日) 13:47:54 .net]
- >>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 これだけ読めば解決できるが 池沼には無理
- 614 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/04(月) 14:18:49 .net]
- アルファベットの文字で構成されるが、「d」は入らない、を
[a-ce-z]以外の書き方で表現する方法はないですか? もちろん↓はエラーだけど、こんな漢字で書ければいいのだけれど。 [a-z][^c]
- 615 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/04(月) 19:22:18 .net]
- 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
- 616 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/04(月) 22:02:59 .net]
- >>608
javaならできる
- 617 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/04(月) 22:08:51 .net]
- d|i|g|i|t|a|l
- 618 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/05(火) 09:35:00 .net]
- >>610
どうやるんだべさ?
- 619 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/06(水) 02:45:07 .net]
- >>612
[[a-z]&&[^d]] こんな感じだったと思う。
- 620 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/06(水) 09:44:34 .net]
- >>613
うぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉ〜、すげぇ〜。できました! javaだとこんなのができるのか! もちろん正規表現標準じゃないので、perlとか秀丸正規表現ではできないかぁ・・・ javaならではの裏技って他に何かあるんですかね?
- 621 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/06(水) 12:20:30 .net]
- >>614
うぉ++
- 622 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/06(水) 12:23:51 .net]
- タイプ数増えてるのは問題ないのかw
- 623 名前:615 mailto:sage [2006/12/06(水) 12:51:07 .net]
- >>614
わざわざjavaで試した行動力に感服 強欲マッチといわれる615もためしてみるといい
- 624 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/06(水) 13:11:31 .net]
- java使う人ならタイプ数が増えることが問なさそう
- 625 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/06(水) 14:12:54 .net]
- >>615
うぉ+でいいんじゃないの?なんか違うの?
- 626 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/06(水) 17:58:50 .net]
- (+_+;)
- 627 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/07(木) 02:56:32 .net]
- >>619
違うよ。++が付いたほうはバックトラックしない。 Perlの (?> ...) と同じ。
- 628 名前:名無しさん@お腹いっぱい。 mailto:saga [2006/12/16(土) 17:28:28 .net]
- 1〜1000
までの数字から始まって最後が C] で終わる正規表現を教えて下さい m(_ _)m
- 629 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/16(土) 17:45:19 .net]
- ^[0-9]\{1,4\}[^0-9]*C]$
かな?
- 630 名前:名無しさん@お腹いっぱい。 mailto:saga [2006/12/16(土) 17:55:45 .net]
- >>623
駄目でしたorz 正規表現の勉強してきます。 有難うございましたm(_ _)m
- 631 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/16(土) 19:58:43 .net]
- ^([1-9][0-9]\{0,2\}|1000)[^0-9]*C]$
こうか?
- 632 名前:名無しさん@お腹いっぱい。 [2006/12/17(日) 00:31:38 .net]
- タイトル:文字列 の文字列の部分だけを取り出したいのですが、
どのような正規表現にすれば良いのでしょうか? よろしければ、ご教授を願います。
- 633 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/17(日) 00:34:12 .net]
- いろいろ出ているようだけど
[0-9].*C] ではダメな理由がわからない
- 634 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/17(日) 00:52:14 .net]
- >>626
文..
- 635 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/17(日) 07:34:54 .net]
- >>627
全然ダメ 0000C がヒットする
- 636 名前:名無しさん@お腹いっぱい。 [2006/12/28(木) 11:54:55 .net]
- 初歩な質問ですみませんが
[0-9a-zA-Z]で英数字にマッチするものとなると思うのですが 例えばajgko-jk-s1olのように「-」記号が入っているとマッチしません どう記述すればよいですか?よろしくお願いします。
- 637 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/28(木) 11:57:12 .net]
- >>630
[-0-9a-zA-Z]
- 638 名前:630 [2006/12/28(木) 12:01:22 .net]
- >>631
さんありがとうございます。 しかし上記のように記述しても読み込んでくれません・・・。 こう記述して[-0-9a-zA-Z]{10,10} 「BC-K-o58tB」これを認識してくれません。
- 639 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/28(木) 12:09:19 .net]
- どのアプリ使ってんのよ
- 640 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/28(木) 12:10:47 .net]
- >>632
ちゃんとマッチするけど・・ ↓ $ echo 'BC-K-o58tB' | egrep '[-0-9a-zA-Z]{10,10}' BC-K-o58tB
- 641 名前:630 [2006/12/28(木) 12:11:07 .net]
- アプリ?良くわかりませんが言語PHPです。
- 642 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/28(木) 12:11:52 .net]
- ならPHPのスレで聞いた方がいいんじゃね
- 643 名前:630 [2006/12/28(木) 12:16:40 .net]
- PHPのスレで聞いたら正規表現に行けと言われました。orz
- 644 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/28(木) 14:04:02 .net]
- 無限ループキタ━━━━━━(゚∀゚)━━━━━━ !!!!
- 645 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/28(木) 21:33:37 .net]
- PHPだとPOSIX由来の正規表現とPerl互換の正規表現があるけどどっち?
後者を使っているならpreg_match('/[-0-9a-zA-Z]{10,10}/', $str)みたいに 正規表現の前後にスラッシュが必要。
- 646 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/29(金) 11:07:30 .net]
- 正規表現 part 3
pc8.2ch.net/test/read.cgi/tech/1156413899/
- 647 名前:名無しさん@お腹いっぱい。 [2007/01/09(火) 23:17:53 .net]
- 始めたばっかりで、3時間かかってもダメです… お助けを。
()で囲まれる任意の文字部分だけをとりたいんですが、 \(..*\) では全然ダメですね… ()もついてくるし。 *****(ABC-_)(123%&)*****(あいう)*** 上の例だと、以下の3つを取りたいです。 ABC-_ 123%& あいう
- 648 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/09(火) 23:43:33 .net]
- >>641
sed -e "s/(.*)/()/g" でどうよ
- 649 名前:名無しさん@お腹いっぱい。 [2007/01/10(水) 00:12:39 .net]
- >>642
Unix版でしたね… Windows系でのやり方を知りたいです。
- 650 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/10(水) 00:19:56 .net]
- >>642
基礎からやり直せ。
- 651 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/10(水) 01:41:33 .net]
- >>642
なんか冗長だが... use strict; use warnings; while(<>){ s{(?:[^(]*)\(([^)]*)\)(?:[^(]*)}{[$1]}g; print $_; }
- 652 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/10(水) 01:42:28 .net]
- >>643
Windowsにもsedは移植されてるじゃん。
- 653 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/10(水) 01:59:51 .net]
- >>643
板違い。
- 654 名前:名無しさん@お腹いっぱい。 [2007/01/18(木) 10:55:44 .net]
- >>641
正規表現でググレカス
- 655 名前:名無しさん@お腹いっぱい。 [2007/02/07(水) 08:21:33 .net]
- すみません、以下の正規表現は何にマッチするんでしょうか?
([\011\012\014 -~]+\\|\\(\\cj\\|\n\\)+\\) 処理系はLispです。お願いします。
- 656 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/08(木) 02:57:00 .net]
- >>649
LispつかEmacs Lispだろ。先頭に \\ が抜けてないか? [\011\012\014 -~]+ タブかLFかCRかスペースかASCIIの表示可能文字の繰り返し \\| または \\(\\cj\\|\n\\)+ Cjって多バイト文字でいいんだっけ? か改行の繰り返し
- 657 名前:649 mailto:sage [2007/02/08(木) 15:45:20 .net]
- >>650
すみません、おっしゃる通り先頭に\\が抜けていました。 なるほど、どうもありがとうございました。
- 658 名前:名無しさん@お腹いっぱい。 [2007/03/27(火) 16:10:01 .net]
- コンマはエスケープする必要はありますか?
We are NOVA-TOMO\, right?
- 659 名前:名無しさん@お腹いっぱい。 [2007/03/27(火) 17:34:57 .net]
- 必要ないと思った。付けても問題ないと思うけど。
むしろ?の方が… 俺詳しくないから何ともいえないけど
- 660 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/28(水) 01:44:02 .net]
- カンマはどの正規表現でもメタ文字じゃないのでエスケープの必要はない。
むしろ >>653のいうとおりで ? が要注意。 grep/sed ならエスケープなしでOK。 egrep/awk/perl その他Perl互換のものなら要エスケープ
- 661 名前:名無しさん@お腹いっぱい。 [2007/04/21(土) 22:17:17 .net]
- 当方、秀丸を使っております。
“・”で始まる文で、「」で囲まれた文をヒットさせるのにはどうすればよいのでしょうか? どうしても、「」で囲まれる前の文章もヒットしてしまうのです。
- 662 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/21(土) 22:55:33 .net]
- >>655
秀丸とやらはUnixで動くのかい?
|

|