[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 12/14 15:13 / Filesize : 194 KB / Number-of Response : 810
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

正規表現 Part5



1 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:07:28 ]
正規表現(Regular Expression)スレです。

質問する場合は実装言語や処理系ソフトウェア名を示しておくと話が早いです。

前スレ
正規表現 Part4
pc11.2ch.net/test/read.cgi/tech/1186030400/

799 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 12:21:24 ]
複雑なC言語プログラムのテストってどうすればいいんだろうね。
自分に都合のいいデータだけ作ってやってるけど。
実際は何が起こっても仕方ない場合が多いのだが。

複雑なjavaのテストってどうすればいいんだろうね。
自分に都合のいいデータだけ作ってやってるけど。
実際は何が起こっても仕方ない場合が多いのだが。

複雑なPHPのテストってどうすればいいんだろうね。
自分に都合のいいデータだけ作ってやってるけど。
実際は何が起こっても仕方ない場合が多いのだが。

複雑なバッチファイルのテストってどうすればいいんだろうね。
自分に都合のいいデータだけ作ってやってるけど。
実際は何が起こっても仕方ない場合が多いのだが。

複雑なExcelマクロのテストってどうすればいいんだろうね。
自分に都合のいいデータだけ作ってやってるけど。
実際は何が起こっても仕方ない場合が多いのだが。

・・・正規表現に限った話ではない。

>自分に都合のいいデータだけ作ってやってるけど。
問題の原因がハッキリわかってるじゃないか。それを対処すればいいじゃないか?
自分に都合のいいデータを作ってしまうのが問題なら、他人にデータを作ってもらえばいい。

800 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 12:42:08 ]
>>796
やったことはないが、本気でやるなら、こんな感じになるんだろう。

1.マッチすべきパターンについて構文木を作る
2.構文木を元に直交表を作る
3.実験計画法でテストケースを作る
4.テストケースをテストプログラム化する


801 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 14:59:43 ]
>>799
プログラム言語の場合はステップごととか、プロセジャーや
関数に分割してテストするし、型も助けになる。
正規表現の対象としているのは文字列でここから先は構文解析
しかない。複雑な組み込みシステムの入口、出口でどんな
テストデータを用意すればよいかというのと類似した問題だ。

802 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 13:26:09 ]
www.honya-town.co.jp/hst/HTdispatch?isbn_cd=4062574993
上記のwebページから以下の「マンガホーキング入門」の部分を取り出したいのですがうまくいきません
<tr>
<td bgcolor="#efefef" width="15%" align="center" nowrap><small>
書  名 </small></td>
<td width="85%"><font color="#333399" size="+1"> <strong> マンガホーキング入門 </strong> </font></td>
</tr>

"<strong>(.+?)</strong>"だとここ以外の強調部分もマッチしてしまうので
"書.*?名.+?<strong>(.+?)</strong>"のようにしたのですがこれだとひとつもマッチしてくれません
どのようにするべきなのでしょうか?

803 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 13:28:20 ]
あれ、書 名 の部分は実際は書&nbsp;&nbsp;名です(&=>&)

804 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 13:36:57 ]
自己解決しました
「.」は\nを含まないのでだめだったようです
"書.*?名.+?\n.+?<strong>(.+?)</strong>"でいけました
スレ汚しすみませんでした

805 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 21:51:43 ]
JavaやC#に正規表現のコンパイル機能があるけど、あれって意味あるのかな?
いつも可読性を優先してRegex.Match(data,pattern)みたいに直接使ってるんだけど、
コンパイルが必要になるほど性能が必要な正規表現ってどんなのがあるん?

806 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 22:00:44 ]
>>805
一般論的に正規表現のコンパイルというと、何度も同じ正規表現を
使うときに差が出る。
それが有意な差になるかはプロファイル取ってみないとわからないけど。

ところで可読性なら生の正規表現よりも定数とかに入れて
名付けた方がいいんじゃない?めんどくさいけど。

807 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 22:06:30 ]
>>805
perlでo使ったらうれしいときと同じだよ。



808 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 22:09:58 ]
>>806
>ところで可読性なら生の正規表現よりも定数とかに入れて
>名付けた方がいいんじゃない?めんどくさいけど。

コード体系とかのパースの場合は定数化してるよ。
"Key: Value"なデータのパースとかはハードコードかな。
わざわざファイル移動で確認させる価値もないし。

809 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 02:47:41 ]
ルールを変更可能にするため外部化、ってのもよくあるパターンだと思うけど。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<194KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef