1 名前:正規表現 mailto:正規表現 [02/12/06 18:09.net] 正規表現
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で動くのかい?
663 名前:名無しさん@お腹いっぱい。 [2007/04/21(土) 23:03:01 .net] げ、UNIX版でしたか! 失礼しました。
664 名前:名無しさん@お腹いっぱい。 [2007/05/04(金) 12:21:16 .net] ニフティーのドメイン以外を拾う為に [^nifty]\.com と書くのは間違いのようですが 特定の“文字列”以外を指定するのはどーすりゃいいの?
665 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/04(金) 12:44:28 .net] 否定先読みなどの拡張があればそれを使えばいいが、なくても それ以外の文字列をすべて列挙すればなんとかなります。
666 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/04(金) 13:59:38 .net] grep -v '特定の文字列' filename
667 名前:名無しさん@お腹いっぱい。 [2007/05/04(金) 14:35:47 .net] 正規表現の話では? ([^n]....|.[^i]...|..[^f]..|...[^t].|....[^y])\.com これが正解
668 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/04(金) 14:54:42 .net] nifty.com以外のナントカ.comにマッチさせたいのだから、 ([^n].*|n[^i].*|ni[^f].*|nif[^t].*|nift[^y].*)\.com ではないか?
669 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/04(金) 14:56
] [ここ壊れてます]
670 名前::11 .net mailto: 無理に正規表現でがんばるより 他の方法を探した方がいい。 [] [ここ壊れてます]
671 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/04(金) 14:58:05 .net] それではniftyhoge.comにマッチしないので ([^n].*|n[^i].*|ni[^f].*|nif[^t].*|nift[^y].*|nifty..*)\.com
672 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/04(金) 15:58:18 .net] perlならもうちょっと簡単? perl -ne 'print if /(?<!nifty)\.com/' grep -v とか否定を使うほうが素直だと思うけど。
673 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/04(金) 16:31:54 .net] ヒネクレたひとたちばかりいるスレですから
674 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/04(金) 16:44:04 .net] このスレの中くらいは正規表現原理主義でいいじゃないか
675 名前:名無しさん@お腹いっぱい。 [2007/05/05(土) 00:26:33 .net] その為のスレなんだから当然といえば当然だろ
676 名前:名無しさん@お腹いっぱい。 mailto:111111111111111111111111111111111111 [2007/05/21(月) 19:09:39 .net] はふ
677 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/28(月) 22:36:56 .net] -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)の部分をグループ化で取り出したいのですが、どのようにすればよいのでしょうか?
678 名前:名無しさん@お腹いっぱい。 [2007/05/28(月) 22:48:40 .net] ここは実は分かってない奴しかいねーから無理じゃね?ww
679 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 00:05:12 .net] >>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 $ ぐらいからはじめればいい。
680 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 01:44:17 .net] 確かにみんなもっとスマートに書けないものかねえ・・・
681 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 02:31:04 .net] ^([^\s]+)(.*)([^\s]+)$ $1 $3
682 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 03:06:51 .net] (; ^ω^)
683 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 07:07:47 .net] むしろ正規表現使わないでreaddirとstat使うとこじゃないか?
684 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 15:00:33 .net] $ ls -al | sed -e 's/ \{1,\}/ /g' | cut -d ' ' -f 1,9 cut 使うのは反則?
685 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/30(水) 16:06:37 .net] awk '{print $1,$9}' で十分では無かろうかと
686 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/01(土) 07:33:23 .net] gawkでJavaソースファイル内の「識別子」単位の置き換えをしようとしていますが, なかなかうまくいきません. たとえば,独立して現れる「Stack」は「Queue」に置き換えるが, 「argStack」は別の識別子だから「argQueue」とは置き換えず そのままにしておくというものです. Javaの識別子は[_0-9A-Za-z]の文字だけから構成されるとしています. awk以外の選択肢も含めて,よい方法がありますでしょうか? 最終的には,Javaで置換プログラムを書けばできなくもないとは思いますが, 安直な方法があればお教えください.
687 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/01(土) 08:57:42 .net] \< \> で囲っておくとか。
688 名前:679 mailto:sage [2007/09/01(土) 19:15:56 .net] grepの「-w」は普通にできるのに,いざ置換で同じことをしようとすると 難しいですね. 結局Javaで処理プログラムを書きました.ありがとうございました.
689 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 09:09:36 .net] hogeを含む行のうち^\s*'で始まらないもの をgrepするのにvimでは \(^\s*'.*\)\@<!hoge でできるようなんですが、サクラで (?<!^\s*'.*)hoge とするとダメでした。 これをgrepするにはどうすればいいでしょうか? サクラ(bregexp.dll)の正規表現はPerl5互換だそうなんですが。
690 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 09:53:00 .net] 板違い。
691 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 11:08:21 .net] じゃあ hogeを含む行のうち^\s*'で始まらないもの にマッチするPerl5正規表現を答えよ。 とします。
692 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 11:28:24 .net] ム板行け。
693 名前:情報工学ばが [2008/01/15(火) 20:48:47 .net] 正規表現ってなんですか?
694 名前:情報工学ばが [2008/01/15(火) 20:50:24 .net] はやく!!! 単位がないんです!!
695 名前:情報工学ばが [2008/01/15(火) 20:51:45 .net] お願いします。。。
696 名前:わし [2008/01/15(火) 20:55:01 .net] わしにはわからん。
697 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/16(水) 01:21:45 .net] >>686 【サルにもわかる正規表現入門】 www.mnet.ne.jp/~nakama/
698 名前:名無しさん@お腹いっぱい。 [2008/01/16(水) 12:24:11 .net] >>690 有難うございました。 おかげで単位取れそうやでー!! ほな
699 名前:名無しさん@お腹いっぱい。 [2008/01/17(木) 00:37:01 .net] 語り手緊急募集中!! 坐禅と見性第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/
700 名前:名無しさん@お腹いっぱい。 [2008/02/24(日) 13:39:51 .net] 2008-03 発売(予定) 「詳説 正規表現 第3版」 (Jeffrey E.F. Friedl 著 / 長尾高弘 訳) ISBN 978-4-87311-359-3 定価 5,040円
701 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 17:10:30 .net] バイト代が全部本で消えていく・・・
702 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 18:03:30 .net] あるある
703 名前:名無しさん@お腹いっぱい。 [2008/02/26(火) 14:03:08 .net] 2/1 XXXXXXXX 2/2〜2/5 XXXXXXXXX 2/7〜2/8 XXXXXXX 2/12 XXXXXXXXXX 2/20〜2/28 XXXXXXXXX と書かれた行があり 今日より以前の日付の行を削除するにはどうすればいいですか
704 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/26(火) 15:50:38 .net] それは正規表現の問題か?
705 名前:名無しさん@お腹いっぱい。 [2008/02/26(火) 17:23:03 .net] Cの構造体のようにネストする可能性のあるものを正規表現で抽出するにはどうすればいいでしょうか?
706 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/26(火) 17:26:13 .net] 無理
707 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/26(火) 21:47:00 .net] >>699 正解
708 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/26(火) 22:31:20 .net] >>696 日付の切り出しを正規表現でやって、日付の判定以降はプログラムでがんばれ。
709 名前:名無しさん@お腹いっぱい。 [2008/03/06(木) 14:24:40 .net] 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 にするにはどうすればいいですか
710 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 14:28:44 .net] sed -e 's,/1/,/01/,' -e 's,/2$,/02,'
711 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 17:14:22 .net] >>703 9日近く書き込み無いのによく質問に高速で答えられますね 尊敬するとともに変態だと思います。
712 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 17:15:08 .net] 別に何日書き込みがなかろうが関係ない。
713 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 22:36:13 .net] >>704 今時ブラウザでみてる奇特な人かな? 別にこのスレを毎日人手でチェックしてるわけじゃなくて、 専ブラの巡回リストに入ってるだけのことだと思うよ。 まあ、確かに4分でレスするのはちょっとすごいが よくよく見たら 2007/3/3 とかは変換しない... ほんとにそれでいいのか? >>702
714 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 23:43:20 .net] >>703 もわざとその答えにしたんだろ。 要するに質問の仕方が悪いって事だ。
715 名前:ウサチャソ ◆/0IEZmXnQ6 mailto:sage [2008/03/17(月) 21:53:04 .net] >>702 ゼロサプレス 正規表現 とか ゼロパディング 正規表現 とかでググってみるといいかモナー 最近sedは使ってないから漏れはやり方知らんw
716 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/18(火) 14:24:00 .net] どの文字列にもマッチしない正規表現ってどう書くんでしょう?
717 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/18(火) 16:47:03 .net] (?<=a)a
718 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/19(水) 09:09:37 .net] 空文字列にもマッチしない?
719 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/19(水) 23:02:47 .net] しないよ というか自分で試せよ
720 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/21(金) 00:44:43 .net] 710って、aaにマッチするよ 戻り読みの位置が違うんじゃね?
721 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/21(金) 20:07:35 .net] (?!a)a こうかな
722 名前:名無しさん@お腹いっぱい。 [2008/06/02(月) 10:30:14 .net] Vimでファイルの中からhttpで始まり、htmlで終るURLを抜きだしたいのですが、 どのようにすれば可能でしょうか? いろいろと試してはいるのですが、行中の最大にマッチする等なかなかうまくできません。
723 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/02(月) 11:38:21 .net] 最短でマッチさせたらさせたで、 ディレクトリのどこかに .html があると破綻する
724 名前:名無しさん@お腹いっぱい。 [2008/06/03(火) 08:27:21 .net] emacs(の置換)と perlのそれぞれで、 「日本語の文字列」を指定する正規表現が知りたいのですが、 どこを見ればよいでしょうか? 「ASCII文字を含まない文字列」でもOKです。
725 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/03(火) 13:33:02 .net] >>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::).
726 名前:名無しさん@お腹いっぱい。 [2008/06/03(火) 14:36:53 .net] >>718 ありがとうございます。emacsのinfoではなく、 elisp infoにあるんですね。 「日本文字にはさまれたascii空白」を検索したかったので、 emacsでは"¥cj ¥cj" でだいたいよさそうです。 (どういうわけか [:multibyte:]や[:nonascii:] という指定は C-u C-s などではうまく動いてくれないようなのですが・・・ (ascii文字の一部にマッチしてしまう)
727 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/03(火) 14:41:33 .net] >>719 > (どういうわけか > [:multibyte:]や[:nonascii:] > という指定は > C-u C-s などではうまく動いてくれないようなのですが・・・ > (ascii文字の一部にマッチしてしまう) [[:multibyte:]] としんとだめやよ。
728 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/03(火) 18:33:15 .net] あ、そういうことか!どもです。
729 名前:名無しさん@お腹いっぱい。 [2008/09/04(木) 15:15:43 .net] ttp://codezine.jp/article/detail/1573 やたら難しいのですが。 詳説正規表現を読めば、解けるようになりますかね?
730 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/05(金) 01:34:49 .net] >>722 難しいか? それ。
731 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/18(木) 18:37:47 .net] >>722 プログラミングperlの正規表現の解説部分を 読んでもなんとかなるかも(´・ω・`)
732 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/28(日) 20:34:23 .net] >>722 詳説正規表現は文字通り「詳説」。 正規表現を使うことが目的の人にはヘビーすぎる。