09/03/12 17:29:29
「から最初の」までってどうやって抜き出すんですか?教えてください
790:デフォルトの名無しさん
09/03/12 17:40:07
「[^」]*」
791:デフォルトの名無しさん
09/03/12 17:53:29
ありがとうございました
792:デフォルトの名無しさん
09/03/13 00:14:55
SQL(SELECT、UPDATE、INSERT、DELETEが不明)から、
テーブル名をマッチさせる正規表現が解る方、どなたかいらっしゃらないでしょうか?
ひとつの表現で不可能なら、複数でもいいのですが…(´・ω・`)
793:デフォルトの名無しさん
09/03/13 00:25:51
SQLの構文解析は正規表現じゃ無理
794:デフォルトの名無しさん
09/03/13 01:07:40
金額の文字にマッチするにはどう書けばよいですか?
123,456,789 ←こういうの
795:デフォルトの名無しさん
09/03/13 01:20:24
\d{1,3}(,\d\d\d)* かな
796:デフォルトの名無しさん
09/03/13 08:53:14
複雑な正規表現のテストってどうすればいいんだろうね。
自分に都合のいいデータだけ作ってやってるけど。
実際は何が起こっても仕方ない場合が多いのだが。
797:デフォルトの名無しさん
09/03/13 08:57:59
製品名を「鼻から悪魔」にしておけば何も問題は無い
798:デフォルトの名無しさん
09/03/13 12:11:43
>>796
私も以前、このスレではない所で同様の質問をしたが、真面目な答えは
返ってこなかったよ。正規表現から見るとプログラムテストは鬼門かもね。
799:デフォルトの名無しさん
09/03/13 12:21:24
複雑なC言語プログラムのテストってどうすればいいんだろうね。
自分に都合のいいデータだけ作ってやってるけど。
実際は何が起こっても仕方ない場合が多いのだが。
複雑なjavaのテストってどうすればいいんだろうね。
自分に都合のいいデータだけ作ってやってるけど。
実際は何が起こっても仕方ない場合が多いのだが。
複雑なPHPのテストってどうすればいいんだろうね。
自分に都合のいいデータだけ作ってやってるけど。
実際は何が起こっても仕方ない場合が多いのだが。
複雑なバッチファイルのテストってどうすればいいんだろうね。
自分に都合のいいデータだけ作ってやってるけど。
実際は何が起こっても仕方ない場合が多いのだが。
複雑なExcelマクロのテストってどうすればいいんだろうね。
自分に都合のいいデータだけ作ってやってるけど。
実際は何が起こっても仕方ない場合が多いのだが。
・・・正規表現に限った話ではない。
>自分に都合のいいデータだけ作ってやってるけど。
問題の原因がハッキリわかってるじゃないか。それを対処すればいいじゃないか?
自分に都合のいいデータを作ってしまうのが問題なら、他人にデータを作ってもらえばいい。
800:デフォルトの名無しさん
09/03/13 12:42:08
>>796
やったことはないが、本気でやるなら、こんな感じになるんだろう。
1.マッチすべきパターンについて構文木を作る
2.構文木を元に直交表を作る
3.実験計画法でテストケースを作る
4.テストケースをテストプログラム化する
801:デフォルトの名無しさん
09/03/13 14:59:43
>>799
プログラム言語の場合はステップごととか、プロセジャーや
関数に分割してテストするし、型も助けになる。
正規表現の対象としているのは文字列でここから先は構文解析
しかない。複雑な組み込みシステムの入口、出口でどんな
テストデータを用意すればよいかというのと類似した問題だ。
802:デフォルトの名無しさん
09/03/17 13:26:09
URLリンク(www.honya-town.co.jp)
上記の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:デフォルトの名無しさん
09/03/17 13:28:20
あれ、書 名 の部分は実際は書&nbsp;&nbsp;名です(&=>&)
804:デフォルトの名無しさん
09/03/17 13:36:57
自己解決しました
「.」は\nを含まないのでだめだったようです
"書.*?名.+?\n.+?<strong>(.+?)</strong>"でいけました
スレ汚しすみませんでした
805:デフォルトの名無しさん
09/03/20 21:51:43
JavaやC#に正規表現のコンパイル機能があるけど、あれって意味あるのかな?
いつも可読性を優先してRegex.Match(data,pattern)みたいに直接使ってるんだけど、
コンパイルが必要になるほど性能が必要な正規表現ってどんなのがあるん?
806:デフォルトの名無しさん
09/03/20 22:00:44
>>805
一般論的に正規表現のコンパイルというと、何度も同じ正規表現を
使うときに差が出る。
それが有意な差になるかはプロファイル取ってみないとわからないけど。
ところで可読性なら生の正規表現よりも定数とかに入れて
名付けた方がいいんじゃない?めんどくさいけど。
807:デフォルトの名無しさん
09/03/20 22:06:30
>>805
perlでo使ったらうれしいときと同じだよ。
808:デフォルトの名無しさん
09/03/20 22:09:58
>>806
>ところで可読性なら生の正規表現よりも定数とかに入れて
>名付けた方がいいんじゃない?めんどくさいけど。
コード体系とかのパースの場合は定数化してるよ。
"Key: Value"なデータのパースとかはハードコードかな。
わざわざファイル移動で確認させる価値もないし。
809:デフォルトの名無しさん
09/03/21 02:47:41
ルールを変更可能にするため外部化、ってのもよくあるパターンだと思うけど。