- 1 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 00:36:04 ]
- 正規表現(Regular Expression)スレです。
質問する場合は実装言語や処理系ソフトウェア名を示しておくと話が早いです。 【 前スレ 】 正規表現 Part5 pc12.2ch.net/test/read.cgi/tech/1212498448/
- 724 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 15:57:50 ]
- >>723
それ、Perlのマニュアルなんだよ。UNIX系のシステムだったら man perlretut を実行すると表示されるよ。 ウェブを見るより先にマニュアルを読めってことで。
- 725 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 16:31:29 ]
- .NET のマニュアルにも {n}? は {n} と等価って書いてあるな。
なんか訳が微妙におかしいけど。 msdn.microsoft.com/ja-jp/library/3206d374(VS.80).aspx
- 726 名前:723 mailto:sage [2010/01/12(火) 22:05:22 ]
- >>724
UNIX系とは縁がありませんが、perlre/perlretutはWeb上にあるので、それをmanの代わりにします。 Javascriptで使える表現かどうかは、以下を見てチェック。 ☆RegExp - Core JavaScript 1.5 Reference - Mozilla Developer Center ttps://developer.mozilla.org/ja/Core_JavaScript_1.5_Reference/Global_Objects/RegExp 出来るだけ大本の公式情報を参照すべし、ですね。 >>725 情報ありがとうございます。間違ってはいませんが、確かに変ですねぇ。 perlretut、面白いですね−。塩基配列のストップコドンのとことか。 自習してみて、チュートリアルと同じ結果になるのを確認したのはいいのですが… Javascript:var R=/(\w\w\w)*?TGA/g, S='ATCGTTGAATGCAAATGACATGAC', A = [], I = 0; while(R.test(S)) {A[I] = RegExp.lastMatch + ' (' + RegExp.lastParen + ') Pos=' + R.lastIndex; ++I;} alert(A.join('\n\n')); なぜずれるのか、理解できず…。その後バックトラックの動作を知り、単に「必ず3文字ずつ進む」と 思い込んでただけだと気付きました。。。マッチにトライして失敗したらそこで終わりではなく、 開始位置を1文字進めるんですね。筆者が仕掛けた罠に見事にハマりました。。。 というか、こういう処理は素直に3文字ずつ取り出して判定すべきですよね。 なお、Javascriptには\Gなんてありませんでした。残念!
- 727 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 21:03:05 ]
- >726
man じゃなくても perldoc perlretut でいけるよ。
- 728 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 16:56:04 ]
- >>725
MSDNライブラリは機械翻訳だからしかたないべ
|

|