- 1 名前:正規表現 mailto:正規表現 [02/12/06 18:09.net]
- 正規表現
- 411 名前:名無しさん@お腹いっぱい。 mailto:sage [04/04/07 15:26.net]
- >>405
Perl5 でいい?
- 412 名前:名無しさん@お腹いっぱい。 mailto:sage [04/04/07 15:32.net]
- >>405
/&(?!amp;)/
- 413 名前:名無しさん@お腹いっぱい。 mailto:sage [04/04/11 13:22.net]
- 正規表現のおすすめ書って何がありますか?
- 414 名前:名無しさん@お腹いっぱい。 mailto:sage [04/04/11 14:13.net]
- オライリーのやつ。
- 415 名前:名無しさん@そうだ選挙に行こう [04/07/11 16:49.net]
- ワイルドカード(DOS)の *.txt って、正規表現だとどう書くの?
- 416 名前:名無しさん@お腹いっぱい。 mailto:sage [04/07/11 20:35.net]
- {(([0-9a-zA-Z]){0,})\.txt}とか半端に返してみるテスト
- 417 名前:名無しさん@お腹いっぱい。 mailto:sage [04/07/11 20:46.net]
- [^\\/]+\.[Tt][Xx][Tx]\z とか (ry
- 418 名前:名無しさん@お腹いっぱい。 mailto:sage [04/07/11 22:41.net]
- foo と bar 両方含む行をマッチさせたいんだけど、
awkでいうところの and演算子 % awk /foo/&&/bar/ が使える、windowsで動くgrepツールなんか教えてください。 #絞込み再検索のないGUIなgrepツールなんかイラネ
- 419 名前:名無しさん@お腹いっぱい。 [04/07/11 23:39.net]
- >>412,413
. 記号は \ でエスケープになるのですね。.*\.txt でマッチはしました。 助かりました、ありがとうです。
- 420 名前:名無しさん@お腹いっぱい。 mailto:sage [04/07/12 22:46.net]
- >>414
FIND "foo" | FIND "bar" みたいのじゃ駄目?
- 421 名前:名無しさん@お腹いっぱい。 mailto:sage [04/07/14 00:51.net]
- >>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 >
- 422 名前:414 mailto:sage [04/07/23 03:17.net]
- なるほど、andをorに展開すればいいのか。
しかし fooかつbarかつbazを検索、つーばあい展開すんのめんどくさいなぁ。 windowsのGUIなgrepツールは、サブフォルダも検索、とかできて 結構便利なのも歩けど、パイプとかorが使えなかったりしてイマイチ。 結局cygwinでawk使ってるけど、これもいまひとつメンドクサイ。 2chのログを検索してるだけなんだが_| ̄|○
- 423 名前:名無しさん@お腹いっぱい。 mailto:sage [04/07/29 01:12.net]
- >>418
xyzzy の ggrep 辺りがいいんじゃない?
- 424 名前:名無しさん@お腹いっぱい。 [04/07/30 00:18.net]
- Windows の AWKじゃだめですか?
- 425 名前:名無しさん@お腹いっぱい。 [04/08/03 09:48.net]
- Perloしかないべ
- 426 名前:名無しさん@お腹いっぱい。 [04/08/06 22:51.net]
- #から行末までをあらわす正規表現ってどうやればいいんでしょうか。
- 427 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/06 23:22.net]
- #.*$
- 428 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/12 15:32.net]
- #[^#]*$
- 429 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/24 00:25.net]
- 質問があります。
サクラエディタ(正規表現ライブラリ:BREGEXP.DLL)でCソース中のhogehogeをgrepしてた 場合に、コメント化(//)されている行だけは検索結果に表示したくないんですが、 どのような正規表現で検索すればいいでしょうか?
- 430 名前:名無しさん@お腹いっぱい。 [04/08/24 01:48.net]
- あげ
- 431 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/24 01:56.net]
- >>425
そのエディタよく知らないんだけど、Unix で動くの?
- 432 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/24 13:36.net]
- スレタイだけ見て、板を確認してないんだと思われ。
- 433 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/24 13:43.net]
- それを言うと、このスレ自体板違いな気もしなくはないが。ム板のだけで十分やん。
- 434 名前:425 [04/08/24 21:24.net]
- UNIX板って知っていて質問をしましたが。
とりあえず、ム板に逝ってみます。
- 435 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/24 21:38.net]
- >>430
Unix 用のソフトなの?
- 436 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/24 22:51.net]
- >>431
is not UNIX
- 437 名前:名無しさん@お腹いっぱい。 [04/08/24 23:41.net]
- 多分エディタの種類はどうでもよくて、 /\/\*.*\*\/ とか、そんな答えを期待していたと思われ
- 438 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/05 06:33.net]
- ム板の正規表現もとんと書き込みないから、テストしてみたら
書き込めた。ここもどうなんだか、書き込んでみる。
- 439 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/06 18:18.net]
- ハハ*.*ハハ
- 440 名前:名無しさん@お腹いっぱい。 [04/09/07 16:51.net]
- 指定文字列A 何か 指定文字列B
という何かにヒットさせるにはどういう正規表現にすればいいですか?
- 441 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/07 17:18.net]
- >>436
素で答えると「文字列A.*文字列B」だけど?そういう話? もちろん文字列ABに特殊記号があったらどうするかとか、 .*は最長マッチでいいのとか、いろいろ細かい話はあるけど。
- 442 名前:436 [04/09/07 17:21.net]
- 自分で、
(文字列A).*{2,15}(文字列B) とかでやってみたんですが、 マッチするのが、 指定文字列A 何か 指定文字列B がマッチしてしまうので… 何か の部分だけを抽出しようと思ってます。
- 443 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/07 17:55.net]
- 後から取り出したい部分を()で囲む。(.*{2,15})みたいに。
- 444 名前:436 [04/09/08 01:37.net]
- >>439さんの方法でも結果が変わりませんでした… 処理系が違うからかな?
とりあえず諦めて、 指定文字列A 何か 指定文字列B をマッチさせて、指定文字列A+1文字目から 何か の文字数だけ切り取ることにします。 ありがとうございました。
- 445 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/08 02:28.net]
- >>440
で、その処理系が何かを晒すつもりは毛頭無いわけですね?
- 446 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/08 10:13.net]
- >>441
ハゲには無理
- 447 名前:436 mailto:sage [04/09/08 11:58.net]
- 何度もすいません。
C#です… 改めてやってみると>>439さんの方法でいけました。 group[1]に入ってたんですね。全体しか見てませんでした。 板違いにお騒がせしました。
- 448 名前:名無しさん@お腹いっぱい。 [04/09/10 00:33.net]
- Perlの場合、
$_ = "いっぱい"; s/い/お/; # おっぱい s/い/お/g; # おっぱお ということでおk?
- 449 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/10 02:41.net]
- _ ∩
( ゚∀゚)彡 おっぱい!おっぱお! ⊂彡
- 450 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/10 15:00:12.net]
- 小学生のころ流行ったネタ
- 451 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/27 06:28:21.net]
- 性器表現
- 452 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/27 09:23:16.net]
- ワロテモータ
- 453 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/27 11:29:59.net]
- さんざん概出なのに・・・
- 454 名前: mailto:sage [04/10/13 14:29:29.net]
-
- 455 名前:名無しさん@お腹いっぱい。 mailto:sage [04/10/13 14:50:43.net]
- .*
- 456 名前:ウサチャソ mailto:sage bill@microsoft.com [04/10/29 21:49:31.net]
- ↑アナルは性器じゃねーよな、とか思ってよく見ると、ドット米。
イボ痔か?
- 457 名前:名無しさん@お腹いっぱい。 mailto:sage [04/10/30 20:30:37.net]
- >>452
拭き忘れたウンチだよ。きっと!
- 458 名前:名無しさん@お腹いっぱい。 [04/11/10 15:37:24.net]
- regexp
- 459 名前:名無しさん@お腹いっぱい。 mailto:sage [04/11/26 21:14:34.net]
- rege*p
- 460 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/16 23:14:21.net]
- 正規表現で複数の単語の中に「/」があるときにヒットさせたいんですが
echo "hoge / hoge" | grep "\</\>" でだめでした・・。だれか修正をお願いしますorz
- 461 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/16 23:50:35.net]
- >>456
条件をもっと明確に定義しろ。 マルチすんな。
- 462 名前:456 mailto:sage [04/12/17 00:16:01.net]
- >>457
複数の単語の中で、"/"のみで構成される単語が存在する場合のみ ヒットさせたいのです つまり a b c / d 上記ようなときで下記のどの事象にもヒットさせたくはないのです // /a a/ a/a
- 463 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/17 01:22:18.net]
- >>456
pc5.2ch.net/test/read.cgi/linux/1101654885/957 とこっちと、どっちで続けるのかね。
- 464 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/17 11:17:13.net]
- まことに勝手ながらこちらで続けさせてください
質問を改めます やりたいことは ----------------------- 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
- 465 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/17 11:22:35.net]
- >>460
grep と言ってもいろいろあるんだが どの OS のどの grep よ。
- 466 名前:456 mailto:sage [04/12/17 11:23:16.net]
- ↑修正します
修正前)上と下の違いは、前後にスペースを含む" / "が存在するか否かです 修正後)上と下の違いは、単語 / が存在するか否かです
- 467 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/17 11:27:31.net]
- >>460
> 上と下の違いは、前後にスペースを含む" / "が存在するか否かです 1) と 2) には存在しないようだが。
- 468 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/17 11:28:10.net]
- >>462
「単語」とは?
- 469 名前:名無しさん@お腹いっぱい。 [04/12/18 00:00:37.net]
- ブラケットの中でピリオドを入れる時ってメタキャラクタとして扱われますか?
[\w.] と [\w\.] が同じ動きにになるみたいなんですけど・・・。 ちなみに、パールです。
- 470 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/18 02:48:16.net]
- >>465
「みたい」じゃなくてテストコードで示してよ。
- 471 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/18 08:58:34.net]
- どの言語の正規表現がどんな有限オートマトン使ってるという情報って
どこかにありますかねぇ。正規表現コンバータ作ろうかと思ってるのですが。。 NFA、DFAの違いぐらいは詳説正規表現の本でわかるのですが、実装ともなると。 オートマトンの変換に関してはコンパイラの本を参考にしてますが、 やはりかなりつらいものがありますね。たんに字句解析して作った方がいいのかなぁ。
- 472 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/18 09:16:42.net]
- 普通にNFA+DFAでいいじゃん
- 473 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/21 02:13:26.net]
- オブジェクト指向正規表現の仕様策定はまだですか?
- 474 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/21 14:44:45.net]
- >>469
聞いたことないな。 何それ?
- 475 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/21 19:26:19.net]
- >>469
まかせた。
- 476 名前:名無しさん@お腹いっぱい。 [04/12/22 19:35:55.net]
- お前ら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つのコレクションが取得できるの?
- 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の場合」
|

|