- 1 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:07:28 ]
- 正規表現(Regular Expression)スレです。
質問する場合は実装言語や処理系ソフトウェア名を示しておくと話が早いです。 前スレ 正規表現 Part4 pc11.2ch.net/test/read.cgi/tech/1186030400/
- 780 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 19:36:03 ]
- 1hage にマッチしたものから 1hage(100禿) にマッチするものを取り除く、
じゃダメなのか? どうしても1個の正規表現でやんないとダメ?
- 781 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 20:30:52 ]
- >>780
うん、やっぱりそれの方がスマートでよいですよね・・・ わかりました。 無理に正規表現だけでやらないとことにします。 ありがとうございました。
- 782 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 14:16:03 ]
- 文章中に「A」と「AA」が混在していて、
1文字だけの「A」を2文字の「AA」にします。 2文字以上連続していない、1文字だけの「A」は どうやったら探せますか? /A{1}/ でも駄目ですし、/A[^A]/ だと 行の中に A しかない物が引っ掛かりません。
- 783 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 16:40:50 ]
- D:\jspsh>jspsh.exe
js> "A AA AAA".replace(/(^|[^A])A([^A]|$)/g, "$1AA$2") AA AA AAA js> :q Leaving "JScript Power Shell"
- 784 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 21:51:49 ]
- タイ━━━━||Φ|(|´|Д|`|)|Φ||━━━━ホ
- 785 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:10:33 ]
- >>783
ありがとう、試してみます。
- 786 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 20:45:20 ]
- /(?<!A)A(?!A)/
- 787 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 00:28:35 ]
- <A href="○○○○○○○">●●●●●</a>
と <A href="○○○○○○○"><hogehogetag>●●●●●</hogehogetag></a> という文字列から●●●●●を取り出したいのですが どうやって書いたら良いか教えてケロ 決まってるのは<A href="○○○○○○○">の次の<>の外の文字列ということです。
- 788 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 01:14:08 ]
- >>5みたいに書けばいいよ
- 789 名前:デフォルトの名無しさん [2009/03/12(木) 17:29:29 ]
- 「から最初の」までってどうやって抜き出すんですか?教えてください
- 790 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 17:40:07 ]
- 「[^」]*」
- 791 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 17:53:29 ]
- ありがとうございました
- 792 名前:デフォルトの名無しさん [2009/03/13(金) 00:14:55 ]
- SQL(SELECT、UPDATE、INSERT、DELETEが不明)から、
テーブル名をマッチさせる正規表現が解る方、どなたかいらっしゃらないでしょうか? ひとつの表現で不可能なら、複数でもいいのですが…(´・ω・`)
- 793 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 00:25:51 ]
- SQLの構文解析は正規表現じゃ無理
- 794 名前:デフォルトの名無しさん [2009/03/13(金) 01:07:40 ]
- 金額の文字にマッチするにはどう書けばよいですか?
123,456,789 ←こういうの
- 795 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 01:20:24 ]
- \d{1,3}(,\d\d\d)* かな
- 796 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 08:53:14 ]
- 複雑な正規表現のテストってどうすればいいんだろうね。
自分に都合のいいデータだけ作ってやってるけど。 実際は何が起こっても仕方ない場合が多いのだが。
- 797 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 08:57:59 ]
- 製品名を「鼻から悪魔」にしておけば何も問題は無い
- 798 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 12:11:43 ]
- >>796
私も以前、このスレではない所で同様の質問をしたが、真面目な答えは 返ってこなかったよ。正規表現から見るとプログラムテストは鬼門かもね。
- 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 ]
- ルールを変更可能にするため外部化、ってのもよくあるパターンだと思うけど。
|

|