[過去ログ]
正規表現 Part5 (1001レス)
正規表現 Part5 http://echo.5ch.net/test/read.cgi/tech/1212498448/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
1: デフォルトの名無しさん [sage] 2008/06/03(火) 22:07:28 正規表現(Regular Expression)スレです。 質問する場合は実装言語や処理系ソフトウェア名を示しておくと話が早いです。 前スレ 正規表現 Part4 http://pc11.2ch.net/test/read.cgi/tech/1186030400/ http://echo.5ch.net/test/read.cgi/tech/1212498448/1
875: デフォルトの名無しさん [sage] 2009/04/14(火) 01:36:46 たしかに ....replace(/^N\d+/, "N" + n); n += 10; のようにやるよりは { $1 = "N" (10 * NR); print } の感じのほうがいいな。 http://echo.5ch.net/test/read.cgi/tech/1212498448/875
876: taguti [] 2009/04/14(火) 14:41:40 6個のreal型変数x1、y1、x2、y2、x3、y3を定義しそれぞれに実数つを読み込んで、xy平面上の3点 (x1、y1)(x2、y2)(x3、y3)を頂点に持つ三角形の面積を計算して、その値を表示するプログラムを作成してください。 ・公式:底辺x高さ÷2を使って計算してください。 お願いします!! http://echo.5ch.net/test/read.cgi/tech/1212498448/876
877: デフォルトの名無しさん [sage] 2009/04/14(火) 14:47:38 それを正規表現でやるのか http://echo.5ch.net/test/read.cgi/tech/1212498448/877
878: デフォルトの名無しさん [sage] 2009/04/14(火) 16:15:56 包茎が治る正規表現を教えてください。 先っぽの皮が余ってしょうがないんです。 お願いします!! http://echo.5ch.net/test/read.cgi/tech/1212498448/878
879: デフォルトの名無しさん [sage] 2009/04/14(火) 22:41:17 >>876 これはひどいwww ここまで来ると逆に尊敬するマルチ野郎だな。 http://pc12.2ch.net/test/read.cgi/tech/1237091698/493 http://pc12.2ch.net/test/read.cgi/tech/1232055225/770 http://pc12.2ch.net/test/read.cgi/tech/1217575832/499 http://pc12.2ch.net/test/read.cgi/tech/1235927586/774 http://pc12.2ch.net/test/read.cgi/tech/1212498448/876 http://pc12.2ch.net/test/read.cgi/tech/1212409946/66 http://pc12.2ch.net/test/read.cgi/tech/1217575832/499 http://pc12.2ch.net/test/read.cgi/tech/1192201659/808 http://pc12.2ch.net/test/read.cgi/tech/1205156417/821 http://pc12.2ch.net/test/read.cgi/tech/1238032584/16 http://pc12.2ch.net/test/read.cgi/tech/1224719784/934 良識を疑うよ。 http://echo.5ch.net/test/read.cgi/tech/1212498448/879
880: デフォルトの名無しさん [sage] 2009/04/14(火) 22:54:02 >>879 すれ違いだけど 俺もそれ学校の問題で出されたことある。 定番かな。構造体使うC言語の問題で。 はっきりいって、三角形の公式使わないほうが楽だよね。 一点を原点移動して例の公式を適用するのが一番シンプルだと思う。 http://echo.5ch.net/test/read.cgi/tech/1212498448/880
881: デフォルトの名無しさん [sage] 2009/04/15(水) 18:25:02 >>876 ヘロンの定理でググれカス。 http://echo.5ch.net/test/read.cgi/tech/1212498448/881
882: デフォルトの名無しさん [sage] 2009/04/15(水) 20:12:01 >>881 不覚にも http://echo.5ch.net/test/read.cgi/tech/1212498448/882
883: デフォルトの名無しさん [sage] 2009/04/16(木) 00:50:48 何と戦ってるんだろう http://echo.5ch.net/test/read.cgi/tech/1212498448/883
884: デフォルトの名無しさん [] 2009/04/16(木) 12:31:02 >>879 そんな事より 答え書けよ! http://echo.5ch.net/test/read.cgi/tech/1212498448/884
885: デフォルトの名無しさん [] 2009/04/16(木) 13:25:44 >>881 ヘロンの定理 イラナイだろ とんち問題だよ http://echo.5ch.net/test/read.cgi/tech/1212498448/885
886: デフォルトの名無しさん [] 2009/04/16(木) 13:39:16 >>880 >>881 ヘロンの定理で良いから プロ書いてみたら http://echo.5ch.net/test/read.cgi/tech/1212498448/886
887: デフォルトの名無しさん [sage] 2009/04/16(木) 13:58:24 いや、どう考えてもプログラミングしてくれってのがおかしいだろ。 正規表現のスレで出る話題じゃない。 http://echo.5ch.net/test/read.cgi/tech/1212498448/887
888: デフォルトの名無しさん [] 2009/04/16(木) 14:04:39 #include <stdio.h> #include <math.h> int main(void) { double x1, y1, x2, y2, x3, y3; double a, b, c, s, S; #define INPUT(x) printf(#x ": "); scanf("%lf", &x) INPUT(x1); INPUT(y1); INPUT(x2); INPUT(y2); INPUT(x3); INPUT(y3); a = sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)); b = sqrt((x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2)); c = sqrt((x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3)); s = (a + b + c) / 2.0; S = sqrt(s * (s - a) * (s - b) * (s - c)); printf("三角形の面積は %lg\n", S); return 0; } http://echo.5ch.net/test/read.cgi/tech/1212498448/888
889: デフォルトの名無しさん [sage] 2009/04/16(木) 19:48:18 ヘロンの公式キターーー http://echo.5ch.net/test/read.cgi/tech/1212498448/889
890: デフォルトの名無しさん [sage] 2009/04/16(木) 20:06:18 >>888 こういう一見親切そうな行動をする人間が、世の中のすべてを駄目にする。 http://echo.5ch.net/test/read.cgi/tech/1212498448/890
891: デフォルトの名無しさん [sage] 2009/04/16(木) 20:26:15 ヘロンの公式とかこの問題を解くのにふさわしくない http://echo.5ch.net/test/read.cgi/tech/1212498448/891
892: デフォルトの名無しさん [] 2009/04/16(木) 20:36:33 >>891 照合するのに使う http://echo.5ch.net/test/read.cgi/tech/1212498448/892
893: デフォルトの名無しさん [] 2009/04/16(木) 20:38:14 >>890 お舞いも 書いてみたら http://echo.5ch.net/test/read.cgi/tech/1212498448/893
894: デフォルトの名無しさん [sage] 2009/04/16(木) 20:56:34 性器表現できません>< http://echo.5ch.net/test/read.cgi/tech/1212498448/894
895: デフォルトの名無しさん [sage] 2009/04/16(木) 21:54:39 行列式でも出るよ さあ誰か書け http://echo.5ch.net/test/read.cgi/tech/1212498448/895
896: デフォルトの名無しさん [] 2009/04/16(木) 22:04:04 ↑お麻衣が書くニダ http://echo.5ch.net/test/read.cgi/tech/1212498448/896
897: デフォルトの名無しさん [] 2009/04/16(木) 22:17:53 >>876 >それぞれに実数つを読み込んで ココ とても難しい どこから? どうやって? それで 乱数で与えてみる http://echo.5ch.net/test/read.cgi/tech/1212498448/897
898: デフォルトの名無しさん [] 2009/04/16(木) 22:44:34 ヘロン公式は √を使うから 誤差はどう? http://echo.5ch.net/test/read.cgi/tech/1212498448/898
899: デフォルトの名無しさん [] 2009/04/16(木) 22:49:03 JavaScriptが動く HTML実験部屋 ttp://homepage2.nifty.com/tomoarai/java/exper.html http://echo.5ch.net/test/read.cgi/tech/1212498448/899
900: デフォルトの名無しさん [] 2009/04/16(木) 23:01:38 <center><script> var x1, y1, x2, y2, x3, y3; var a, b, c, s, S; var S1,S2,M,N; /*倍率*/ M=100000000; /*回数*/ N=1000; document.write('<style>td,th{font-size:10;}</style><table border=1><tr>'); document.write('<th>x1</th><th>y1</th><th>x2</th><th>y2</th><th>x3</th><th>y3</th>'); document.write('<th>底辺x高さ÷2公式<br>による面積計算結果</th>'); document.write('<th>ヘロン公式による<br>√を使った面積計算結果</th>'); document.write('<th>問題となる誤差<br>倍率'+M+'倍</th></tr>'); for(i=0;N>i;i++){ // 数値を自動代入 x1=(Math.random()*2-1)*M; y1=(Math.random()*2-1)*M; x2=(Math.random()*2-1)*M; y2=(Math.random()*2-1)*M; x3=(Math.random()*2-1)*M; y3=(Math.random()*2-1)*M; a=Math.abs(x1-x2)*Math.abs(y1-y2)/2; // 底辺x高さ÷2公式による面積の計算 b=Math.abs(x2-x3)*Math.abs(y2-y3)/2; c=Math.abs(x3-x1)*Math.abs(y3-y1)/2; s=(Math.max(Math.max(x1,x2),x3)-Math.min(Math.min(x1,x2),x3)) s*=(Math.max(Math.max(y1,y2),y3)-Math.min(Math.min(y1,y2),y3)); S=s-a-b-c; S1=S; a = Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)); // ヘロン公式による√を使った面積の計算 b = Math.sqrt((x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2)); c = Math.sqrt((x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3)); s = (a + b + c) / 2.0; S = Math.sqrt(s * (s - a) * (s - b) * (s - c)); S2=S; document.write('<tr><td> '+x1+'</td><td> '+y1+'</td>'); // 計算結果と誤差を表示 document.write('<td> '+x2+'</td><td> '+y2+'</td><td> '+x3+'</td><td> '+y3+'</td>'); document.write('<td> '+S1+'</td><td> '+S2+'</td><td> '+(S1-S2)+'</td></tr>'); }document.write('</table>'); </script> http://echo.5ch.net/test/read.cgi/tech/1212498448/900
901: デフォルトの名無しさん [] 2009/04/16(木) 23:02:20 >>888 >>900 ⇒ >>899 http://echo.5ch.net/test/read.cgi/tech/1212498448/901
902: デフォルトの名無しさん [] 2009/04/16(木) 23:13:33 /*倍率*/ M=1000; // 変更 http://echo.5ch.net/test/read.cgi/tech/1212498448/902
903: デフォルトの名無しさん [sage] 2009/04/16(木) 23:20:59 言語Perlです。 あるCのソースから構造体(typedefも)を抽出したいのですが、 この例のようなstructやunionを含んでるstructを マッチさせるにはどう書けばいいんですか? struct A{ unsigned short a; unsigned long b char* c; struct{ long e[8]; long f; }d; }; http://echo.5ch.net/test/read.cgi/tech/1212498448/903
904: デフォルトの名無しさん [] 2009/04/16(木) 23:24:21 ↑一旦文字変換してから matchさせると良い http://echo.5ch.net/test/read.cgi/tech/1212498448/904
905: デフォルトの名無しさん [] 2009/04/16(木) 23:29:33 -21761253.57183114 8544355.772346469 61664545.39556769 62137654.31616132 79934094.82325418 66218011.1129441 659766221291321.5 319359195447661.56 340407025843659.94 http://echo.5ch.net/test/read.cgi/tech/1212498448/905
906: デフォルトの名無しさん [] 2009/04/16(木) 23:47:31 たとえば? data=list*->A.c; if(data.match(/.*/)){ } http://echo.5ch.net/test/read.cgi/tech/1212498448/906
907: デフォルトの名無しさん [] 2009/04/16(木) 23:48:55 x=(79934094.82325418)-(-21761253.57183114); y=(66218011.1129441)-(8544355.772346469); http://echo.5ch.net/test/read.cgi/tech/1212498448/907
908: デフォルトの名無しさん [sage] 2009/04/17(金) 00:15:56 >>903 >この例のようなstructやunionを含んでるstructを 一般に、任意にネストできる構造は正規表現で照合できない (実は、「Perlの」正規表現ではできてしまうけど、ごちゃごちゃしたものになるので オススメしない)。正確に抽出したいならCのパーザを自前で書くか、どっかからCのパーザ 拾ってくるのが良い http://echo.5ch.net/test/read.cgi/tech/1212498448/908
909: デフォルトの名無しさん [] 2009/04/17(金) 00:22:26 簡単な検証方法 <center><script> var x1, y1, x2, y2, x3, y3; var a, b, c, s, S; var S1,S2,M,N; /*可変*/ N=1000; document.write('<style>td,th{font-size:10;} </style><table border=1><tr>'); document.write('<th>x1 </th><th>y1 </th><th>x2 </th><th>y2 </th><th>x3 </th><th>y3 </th>'); document.write('<th>底辺x高さ÷2公式<br>による面積計算結果 </th>'); document.write('<th>ヘロン公式による<br>√を使った面積計算結果 </th>'); document.write('<th>問題となる誤差<br>倍率'+M+'倍 </th> </tr>'); for(i=-N;N>=i;i++){ // 数値を自動代入 x1=0; y1=i; x2=-1; y2=0; x3=1; y3=0; a=Math.abs(x1-x2)*Math.abs(y1-y2); // 底辺x高さ÷2公式による面積の計算 b=Math.abs(x2-x3)*Math.abs(y2-y3); c=Math.abs(x3-x1)*Math.abs(y3-y1); s=(Math.max(Math.max(x1,x2),x3)-Math.min(Math.min(x1,x2),x3)) s*=(Math.max(Math.max(y1,y2),y3)-Math.min(Math.min(y1,y2),y3)); S=s-(a+b+c)/2; S1=S; a = Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)); // ヘロン公式による√を使った面積の計算 b = Math.sqrt((x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2)); c = Math.sqrt((x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3)); s = (a + b + c) / 2.0; S = Math.sqrt(s * (s - a) * (s - b) * (s - c)); S2=S; document.write('<tr><td> '+x1+' </td><td> '+y1+' </td>'); // 計算結果と誤差を表示 document.write('<td> '+x2+' </td><td> '+y2+' </td><td> '+x3+' </td><td> '+y3+' </td>'); document.write('<td> '+S1+' </td><td> '+S2+' </td><td> '+(S1-S2)+' </td> </tr>'); }document.write(' </table>'); </script> http://echo.5ch.net/test/read.cgi/tech/1212498448/909
910: デフォルトの名無しさん [] 2009/04/17(金) 00:28:10 誤差を検証してみた その結果√を使用すると 誤差が大きいと判断される >>909 ⇒ >>900 ⇒ >>888 JavaScriptが動く HTML実験部屋 ttp://homepage2.nifty.com/tomoarai/java/exper.html http://echo.5ch.net/test/read.cgi/tech/1212498448/910
911: デフォルトの名無しさん [] 2009/04/17(金) 00:44:36 perl5.8.8を使用しています。 <td>タグの中身を取得したいのですが、ネストしている場合は、 内側のタグのみを対象としたいです。 そこで否定先読みで<td>と</td>の間の文字列でかつ、"<td>"に続かない ものにマッチするという正規表現を書こうとしています。 現状では以下のような感じです。 $_ =<<DATA; <td>データ1</td> <td> <tr> <td>データ2</td> </tr> </td> DATA # 内側のテーブルタグのみにマッチさせたい @res = /<td>(?![\s\w<>]+?<td>)[\s\S]+?<\/td>/gm; # こっちはOK #@res = /<td>(?![\s\S]+?<td>)[\s\S]+?<\/td>/gm; # NG 分からないのはNGと書いた方が上手く動かない理由です。 現象としては、否定先読み条件の中の最短マッチが適用されていないように思います。 上の例ですと、データ2のみが取得されてしまいます。 修正方法を教えていただけないでしょうか。 http://echo.5ch.net/test/read.cgi/tech/1212498448/911
912: デフォルトの名無しさん [] 2009/04/17(金) 02:14:58 ↑ [\s\S]って . と同じ? http://echo.5ch.net/test/read.cgi/tech/1212498448/912
913: デフォルトの名無しさん [] 2009/04/17(金) 02:36:13 >>911 ⇒ >>910 サンプル <center><script> var x1, y1, x2, y2, x3, y3; var a, b, c, s, S; var S1,S2,M,N; /*可変*/ N=1000; P=''; P+=('<style>td,th{font-size:10;} </style><table border=1><tr>'); P+=('<th>x1 </th><th>y1 </th><th>x2 </th><th>y2 </th><th>x3 </th><th>y3 </th>'); P+=('<th>底辺x高さ÷2公式<br>による面積計算結果 </th>'); P+=('<th>ヘロン公式による<br>√を使った面積計算結果 </th>'); P+=('<th>問題となる誤差<br>倍率'+M+'倍 </th> </tr>'); for(i=-N;N>=i;i++){ // 数値を自動代入 x1=0; y1=i; x2=-1; y2=0; x3=1; y3=0; a=Math.abs(x1-x2)*Math.abs(y1-y2); // 底辺x高さ÷2公式による面積の計算 b=Math.abs(x2-x3)*Math.abs(y2-y3); c=Math.abs(x3-x1)*Math.abs(y3-y1); s=(Math.max(Math.max(x1,x2),x3)-Math.min(Math.min(x1,x2),x3)) s*=(Math.max(Math.max(y1,y2),y3)-Math.min(Math.min(y1,y2),y3)); S=s-(a+b+c)/2; S1=S; a = Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)); // ヘロン公式による√を使った面積の計算 b = Math.sqrt((x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2)); c = Math.sqrt((x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3)); s = (a + b + c) / 2.0; S = Math.sqrt(s * (s - a) * (s - b) * (s - c)); S2=S; P+=('<tr><td> '+x1+' </td><td> '+y1+' </td>'); // 計算結果と誤差を表示 P+=('<td> '+x2+' </td><td> '+y2+' </td><td> '+x3+' </td><td> '+y3+' </td>'); P+=('<td> '+S1+' </td><td> '+S2+' </td><td> '+(S1-S2)+' </td></tr>');}P+=('</table>'); data=P; data=data.replace(/(<td>)([^<>]*)(<\/td>)/g,'$1 消去$3'); document.write(data); </script> http://echo.5ch.net/test/read.cgi/tech/1212498448/913
914: デフォルトの名無しさん [] 2009/04/17(金) 02:37:52 >>911 これを参考に・・・ data=data.replace(/(<td>)([^<>]*)(<\/td>)/g,'$1消去$3'); http://echo.5ch.net/test/read.cgi/tech/1212498448/914
915: デフォルトの名無しさん [] 2009/04/17(金) 02:51:50 >>895 せっかく>>876を行列式で書くなら 3D空間で同様に書いてみたら? つまり宇宙的規模と言う事です。 (x1,y1,z1) (x2,y2,z2) (x3,y3,z3) http://echo.5ch.net/test/read.cgi/tech/1212498448/915
916: デフォルトの名無しさん [] 2009/04/17(金) 02:54:13 ↑2Dサンプルは>>910参照 http://echo.5ch.net/test/read.cgi/tech/1212498448/916
917: デフォルトの名無しさん [sage] 2009/04/17(金) 03:08:46 >>912 同じといえば同じ。 ただし、. と違って常に改行にもマッチする。 否定形で使うと何ともマッチすることのないものになる。 http://echo.5ch.net/test/read.cgi/tech/1212498448/917
918: デフォルトの名無しさん [sage] 2009/04/17(金) 11:48:00 >>911 は [ ] の意味を知らないんだろ。( ) と間違えてるヤツ多いよね。 http://echo.5ch.net/test/read.cgi/tech/1212498448/918
919: デフォルトの名無しさん [sage] 2009/04/17(金) 13:37:24 >>917 〜以外はなんとなく . が母集合だと思ってた 言われてみれば文字全てが母集合になるのが当然だよなぁ >>918 ( )にキャプチャとグルーピングの両方の意味を持たせたのは失敗だとよく思う (?: )と逆ならもうちょっとマシだったろうに ついでに気づいたけどFx3で\bと[\b]が別物なのはおもしろいな >[\b] バックスペース (backspace) にマッチします。 ( \b と混同しないでください。) http://echo.5ch.net/test/read.cgi/tech/1212498448/919
920: デフォルトの名無しさん [] 2009/04/18(土) 02:53:33 >>915 3Dかよ http://echo.5ch.net/test/read.cgi/tech/1212498448/920
921: デフォルトの名無しさん [] 2009/04/18(土) 03:45:58 改行を識別して、文字数を取得したいのだけど。 いつも、文字数が何カチが手t場ぐるの。 助けてくれたらエッチしてあげてもいいよ http://echo.5ch.net/test/read.cgi/tech/1212498448/921
922: デフォルトの名無しさん [sage] 2009/04/18(土) 07:49:20 [ぁ-ん]+ で書きなおしてくれ。何言ってるかわからん。 http://echo.5ch.net/test/read.cgi/tech/1212498448/922
923: デフォルトの名無しさん [sage] 2009/04/18(土) 07:51:43 エッチとかぁーんとかエロティックなスレだな http://echo.5ch.net/test/read.cgi/tech/1212498448/923
924: デフォルトの名無しさん [sage] 2009/04/19(日) 03:46:40 >>921 環境が判らんと何とも言えんが、ascii以外の文字数を数えようとしているのならエンコーディングがあっていないとか。 http://echo.5ch.net/test/read.cgi/tech/1212498448/924
925: デフォルトの名無しさん [sage] 2009/04/22(水) 00:30:15 <em onclick="">aaa</em>、ほかのHTMLタグに一致するような正規表現を考えてるのですが、スマートな表現が見つかりません。 <(a|b|i|....)+.*>などのように禁止したいHTMLタグを並べるのは非常にめんどうです。 スマートな表現があったら教えてほしいです。 http://echo.5ch.net/test/read.cgi/tech/1212498448/925
926: デフォルトの名無しさん [sage] 2009/04/22(水) 00:31:20 >>925 追記:PHP 5.2.9.9を使用しています http://echo.5ch.net/test/read.cgi/tech/1212498448/926
927: デフォルトの名無しさん [] 2009/04/23(木) 13:45:51 ABC DEF GHI ABC GHI JKL DEF GHI JKL 上記の文で"ABC"が含まれている行の "GHI"だけをマッチさせたいのですが うまくできません、教えてください 使用環境:Flexible Renamer(Perl5互換) http://echo.5ch.net/test/read.cgi/tech/1212498448/927
928: デフォルトの名無しさん [sage] 2009/04/23(木) 13:51:00 GHI ABC という場合もあるのか、とか GHI ABC GHI GHI とかいう行において全ての GHI にマッチさせて取り出したいのか、とか。 http://echo.5ch.net/test/read.cgi/tech/1212498448/928
929: デフォルトの名無しさん [sage] 2009/04/23(木) 14:50:06 perl5互換って事は、可変長の戻り読み出来ないか・・・。辛いね。 http://echo.5ch.net/test/read.cgi/tech/1212498448/929
930: デフォルトの名無しさん [sage] 2009/04/23(木) 15:34:46 >>925 配列かなんかでもっといて|で連結すればいいだろ。頭使えよ http://echo.5ch.net/test/read.cgi/tech/1212498448/930
931: デフォルトの名無しさん [sage] 2009/04/23(木) 15:53:44 >>930 このスレは初めてか?使用環境見ろよ http://echo.5ch.net/test/read.cgi/tech/1212498448/931
932: デフォルトの名無しさん [sage] 2009/04/23(木) 16:11:29 >>931 >>926 http://echo.5ch.net/test/read.cgi/tech/1212498448/932
933: デフォルトの名無しさん [sage] 2009/04/23(木) 16:11:45 PHPならそのぐらいできるだろ http://echo.5ch.net/test/read.cgi/tech/1212498448/933
934: デフォルトの名無しさん [sage] 2009/04/23(木) 16:23:44 >>930 >>931 すまんかった ちょっと掘られてくる http://echo.5ch.net/test/read.cgi/tech/1212498448/934
935: デフォルトの名無しさん [sage] 2009/04/23(木) 16:37:09 ツールなんかでは /aaa/bbb/ という表記がよく使われるけど パスを含むツールでは^/とエスケープするのがちょっと面倒なんで 次にメジャーな表記って何かありますか? |aaa|bbb| とか %aaa%bbb% とか適当に決めちゃえばいいんだろうけどなんかあったら教えてください。 http://echo.5ch.net/test/read.cgi/tech/1212498448/935
936: デフォルトの名無しさん [sage] 2009/04/23(木) 16:45:42 すくなくとも縦棒は他の目的で正規表現の中で使うのが普通だからだめだろ http://echo.5ch.net/test/read.cgi/tech/1212498448/936
937: デフォルトの名無しさん [sage] 2009/04/23(木) 16:48:27 perlではs///と書きたくないときには、よくs{ }{ }を使うが。 http://echo.5ch.net/test/read.cgi/tech/1212498448/937
938: デフォルトの名無しさん [sage] 2009/04/23(木) 17:14:21 表示できない文字chr(9)などを正規表現の中に含めたいのですが アスキーコードで現したものを含めるにはどうすればいいですか? あと文字変数のようなものは使えませんよね? http://echo.5ch.net/test/read.cgi/tech/1212498448/938
939: デフォルトの名無しさん [sage] 2009/04/23(木) 17:19:48 >>938 処理系次第 http://echo.5ch.net/test/read.cgi/tech/1212498448/939
940: デフォルトの名無しさん [sage] 2009/04/23(木) 17:20:37 C#とjavaです http://echo.5ch.net/test/read.cgi/tech/1212498448/940
941: デフォルトの名無しさん [sage] 2009/04/23(木) 17:30:10 自己解決 s1 = コードの文字 Regex regex = new System.Text.RegularExpressions.Regex(s); のような感じでできました。 http://echo.5ch.net/test/read.cgi/tech/1212498448/941
942: デフォルトの名無しさん [sage] 2009/04/23(木) 18:25:54 >>935 ある意味、メタ文字の類は予約語だろ。 http://echo.5ch.net/test/read.cgi/tech/1212498448/942
943: デフォルトの名無しさん [sage] 2009/04/24(金) 01:10:04 s!うんこ!ちんこ! http://echo.5ch.net/test/read.cgi/tech/1212498448/943
944: 927 [] 2009/04/24(金) 01:15:25 >ABC DEF GHI >ABC GHI JKL >DEF GHI JKL > >上記の文で"ABC"が含まれている行の >"GHI"だけをマッチさせたいのですが >うまくできません、教えてください >使用環境:Flexible Renamer(Perl5互換) 補足です 行にてABC、GHIが出てくるのは1回のみ、複数回はありません GHIは必ずABCより後ろにきます 説明不足ですみません、よろしくお願いします http://echo.5ch.net/test/read.cgi/tech/1212498448/944
945: デフォルトの名無しさん [sage] 2009/04/24(金) 15:57:52 そういう行にマッチさせることなら出来るが、 "GHI" の部分にのみマッチさせるのは正規表現じゃ無理。 リネームするのに "GHI" に当たる部分のみを使いたいってんなら パーレンでキャプチャすれば何とかなるんじゃない? http://echo.5ch.net/test/read.cgi/tech/1212498448/945
946: 927 [] 2009/04/24(金) 22:03:50 >>945 行をマッチさせるのは知っていましたが "GHI"だけというのは無理なんですね ありがとうございました http://echo.5ch.net/test/read.cgi/tech/1212498448/946
947: デフォルトの名無しさん [] 2009/04/25(土) 01:07:17 >927 perl5互換なら (?:ABC.*)GHI は? http://echo.5ch.net/test/read.cgi/tech/1212498448/947
948: デフォルトの名無しさん [sage] 2009/04/25(土) 01:18:40 知らないならレスしないでください http://echo.5ch.net/test/read.cgi/tech/1212498448/948
949: デフォルトの名無しさん [sage] 2009/04/25(土) 06:17:41 可変長戻り読みが使えるなら、 (?<=ABC.*)GHI だね。 http://echo.5ch.net/test/read.cgi/tech/1212498448/949
950: デフォルトの名無しさん [] 2009/04/26(日) 10:48:24 >>925 禁止したいHTMLタグでは無く 利用しても良いHTMLタグを並べると良い つまり発想が、逆だ! http://echo.5ch.net/test/read.cgi/tech/1212498448/950
951: デフォルトの名無しさん [sage] 2009/04/26(日) 13:53:31 pタグの間に改行があったら<br />を付けたいです。 次のような動作を望んでいます。 <p> abc def </p> <p> ghijkl </p> ↓↓↓ <p> abc<br /> def<br /> </p> <p> ghijk<br /> </p> http://echo.5ch.net/test/read.cgi/tech/1212498448/951
952: デフォルトの名無しさん [sage] 2009/04/26(日) 14:16:35 何のエンジン積んでるか分からんとなぁ・・・。 multiline認識させて、 (?<!\<p\>)$ → \<br \/\> に置換? 戻り読み出来ないエンジンなら、後方参照で [^(\<p\>)](.)$ → \2\<br \/\> に置換とか。 http://echo.5ch.net/test/read.cgi/tech/1212498448/952
953: デフォルトの名無しさん [sage] 2009/04/26(日) 21:44:13 質問です。 長い文字列A "qwertyuiopzxcvbnmAbcasdfghjkl" から ^ 18 文字列B "ABC"の位置を大文字小文字問わず知りたいです。 C#と javaを使ってるのですが、正規表現ではどのように書けばいいでしょうか? http://echo.5ch.net/test/read.cgi/tech/1212498448/953
954: デフォルトの名無しさん [sage] 2009/04/26(日) 21:52:08 VBSならFirstIndexですぐ求められるんだけど、他の言語分からないや・・・ごめんね。 http://echo.5ch.net/test/read.cgi/tech/1212498448/954
955: デフォルトの名無しさん [sage] 2009/04/26(日) 22:29:14 [^(文字列)] で文字列を否定出来ちゃうとか、どこ星の処理系だよ。 http://echo.5ch.net/test/read.cgi/tech/1212498448/955
956: デフォルトの名無しさん [sage] 2009/04/26(日) 22:34:48 >>954 ありがとうございます。 indexof とか ismatch とか近いものはあるようなので調べてみます。 http://echo.5ch.net/test/read.cgi/tech/1212498448/956
957: デフォルトの名無しさん [sage] 2009/04/27(月) 19:33:22 >>950 ほむ、その手でやってみたんですが、こういうケースだとはじけないのでまずいんです。 <a href="aaa" onclick="alert()">test</a><em>aaa</em> http://echo.5ch.net/test/read.cgi/tech/1212498448/957
958: デフォルトの名無しさん [sage] 2009/04/27(月) 19:40:53 それは未熟ということじゃ http://echo.5ch.net/test/read.cgi/tech/1212498448/958
959: デフォルトの名無しさん [sage] 2009/04/27(月) 21:25:21 [(>_<)] なんか引っ掛かりそうな顔文字 http://echo.5ch.net/test/read.cgi/tech/1212498448/959
960: デフォルトの名無しさん [sage] 2009/04/28(火) 00:19:41 (V)o¥o(V) http://echo.5ch.net/test/read.cgi/tech/1212498448/960
961: デフォルトの名無しさん [sage] 2009/04/29(水) 01:42:19 Javaを使っていて任意の一文字を含んでいるか調べたいです。 Pattern pattern = Pattern.compile("[qwerty]"); Matcher matcher = pattern.matcher("abcdef"); boolean b= matcher.matches(); これでtrueになりません。どこがいけないでしょうか? http://echo.5ch.net/test/read.cgi/tech/1212498448/961
962: デフォルトの名無しさん [sage] 2009/04/29(水) 02:21:02 頭から尻尾まで丁度マッチしてないといけないとか? "q", "w", "qw" にマッチするか試してみて http://echo.5ch.net/test/read.cgi/tech/1212498448/962
963: デフォルトの名無しさん [sage] 2009/04/29(水) 03:02:44 >>961 ドキュメント読もうぜ。 > matches メソッドは、入力シーケンス全体とパターンをマッチする http://echo.5ch.net/test/read.cgi/tech/1212498448/963
964: デフォルトの名無しさん [sage] 2009/04/29(水) 08:25:03 > 戻り値: > 領域シーケンスの全体がこの正規表現エンジンのパターンとマッチした場合にのみ true http://echo.5ch.net/test/read.cgi/tech/1212498448/964
965: デフォルトの名無しさん [sage] 2009/04/29(水) 09:06:15 ありがとうございます。 どれか一文字のときはどの命令を使いどう書けばいいのでしょうか。 ググってもたいていmatches の例しかなかったもので。 http://echo.5ch.net/test/read.cgi/tech/1212498448/965
966: デフォルトの名無しさん [sage] 2009/04/29(水) 09:43:02 >find() >戻り値: >入力シーケンスの部分シーケンスがこの正規表現エンジンのパターンとマッチした場合にのみ true Pattern pattern = Pattern.compile([qwerty]); Matcher matcher = pattern.matcher("abcdef"); boolean b= matcher.find(); 下にあったfind()でやってみたのですがなぜか trueになりませんでした。 http://echo.5ch.net/test/read.cgi/tech/1212498448/966
967: デフォルトの名無しさん [sage] 2009/04/29(水) 09:56:55 >>966 俺も試したけど find() だとちゃんと true 返したよ。 http://echo.5ch.net/test/read.cgi/tech/1212498448/967
968: デフォルトの名無しさん [sage] 2009/04/29(水) 10:11:28 そうですか、すいません。 デバッグで見てみるとどうもおかしな行の飛び方をしてるようです。 もうすこし試行錯誤してみます。 http://echo.5ch.net/test/read.cgi/tech/1212498448/968
969: デフォルトの名無しさん [sage] 2009/04/30(木) 19:47:39 プロキシのFilter記述で難儀中… ●正規表現の使用環境 JRE5.0〜上で動作するローカルプロキシ(http://nicolist.net/nicocache_nl/)のFilter、 http://nicolist.net/nicocache_nl/up/img/nl138.txt ●検索か置換か? 検索 ●説明 n字以上の任意の文字列をm回以上繰り返す部分がある行を検索 たとえばn=3、m=3としたとき ●対象データ ABABABABAB ABCABC ABCABCABC DEFGDEFGDEFG AAABCABCABCCC ●希望する結果 ABABABABAB ABCABC ABCABCABC ^^^^^^^^^^^^^ DEFGDEFGDEFG ^^^^^^^^^^^^^^^^^ AAABCABCABCCC ^^^^^^^^^^^^^^^^^^ http://echo.5ch.net/test/read.cgi/tech/1212498448/969
970: デフォルトの名無しさん [sage] 2009/04/30(木) 20:00:50 とりあえず (.{3,})\1{2} こういうことできるのかな http://echo.5ch.net/test/read.cgi/tech/1212498448/970
971: デフォルトの名無しさん [sage] 2009/04/30(木) 20:01:19 (.{n,}){m,} かね? http://echo.5ch.net/test/read.cgi/tech/1212498448/971
972: デフォルトの名無しさん [sage] 2009/05/01(金) 15:01:14 文字を入力してそれが数字かどうか判定したいのですが、正規表現を [0-9]+(\.[0-9]*)? としたところ、入力を 122.33.444 などとすると出力が 122.33 (数字) .(不明) 444(数字) というようになります。正規表現に不適な場合は全て不明としています。 これを 122.33.444(不明)と出力するようにしたいのですがどうすればいいでしょうか? http://echo.5ch.net/test/read.cgi/tech/1212498448/972
973: デフォルトの名無しさん [sage] 2009/05/01(金) 15:13:38 どうして正規表現を使いたいのかがいまいち分からない・・・。 出力と言われても、何の言語かもわからないよ。 一発で出力するんじゃなくて、マッチしなかった場合にフラグを立てるとかはどう? んでフラグが立っていた場合に目的の文字列を結合するとか。 >文字を入力してそれが数字かどうか判定したい のであれば、私だったら型変換で数字型になるかどうかで判定するかな。 http://echo.5ch.net/test/read.cgi/tech/1212498448/973
974: デフォルトの名無しさん [sage] 2009/05/01(金) 15:16:22 >>973 言語はCです。 マッチしなかった場合にフラグを立てる で問題なく解決できました。 ありがとうございました。 http://echo.5ch.net/test/read.cgi/tech/1212498448/974
975: 969 [sage] 2009/05/02(土) 13:12:53 >>970-971 thanks http://echo.5ch.net/test/read.cgi/tech/1212498448/975
976: デフォルトの名無しさん [sage] 2009/05/07(木) 23:33:47 次スレです 正規表現 Part6 http://pc12.2ch.net/test/read.cgi/tech/1241537764/ http://echo.5ch.net/test/read.cgi/tech/1212498448/976
977: デフォルトの名無しさん [sage] 2009/05/23(土) 05:19:38 ume http://echo.5ch.net/test/read.cgi/tech/1212498448/977
978: デフォルトの名無しさん [sage] 2009/05/23(土) 05:20:19 u http://echo.5ch.net/test/read.cgi/tech/1212498448/978
979: デフォルトの名無しさん [sage] 2009/05/23(土) 05:24:04 nn http://echo.5ch.net/test/read.cgi/tech/1212498448/979
980: デフォルトの名無しさん [sage] 2009/05/23(土) 05:25:03 e http://echo.5ch.net/test/read.cgi/tech/1212498448/980
981: デフォルトの名無しさん [sage] 2009/05/23(土) 05:25:56 z http://echo.5ch.net/test/read.cgi/tech/1212498448/981
982: デフォルトの名無しさん [sage] 2009/05/23(土) 19:27:12 うめ http://echo.5ch.net/test/read.cgi/tech/1212498448/982
983: デフォルトの名無しさん [sage] 2009/05/23(土) 20:41:20 このスレもよろしく。 http://pc12.2ch.net/test/read.cgi/tech/1242313436/ http://echo.5ch.net/test/read.cgi/tech/1212498448/983
984: デフォルトの名無しさん [sage] 2009/05/24(日) 03:38:55 うめっしゅ http://echo.5ch.net/test/read.cgi/tech/1212498448/984
985: デフォルトの名無しさん [sage] 2009/05/24(日) 03:40:21 おう http://echo.5ch.net/test/read.cgi/tech/1212498448/985
986: デフォルトの名無しさん [sage] 2009/05/24(日) 03:43:04 . http://echo.5ch.net/test/read.cgi/tech/1212498448/986
987: デフォルトの名無しさん [sage] 2009/05/24(日) 03:43:47 v http://echo.5ch.net/test/read.cgi/tech/1212498448/987
988: デフォルトの名無しさん [sage] 2009/05/24(日) 03:44:29 m http://echo.5ch.net/test/read.cgi/tech/1212498448/988
989: デフォルトの名無しさん [sage] 2009/05/24(日) 08:31:15 あ http://echo.5ch.net/test/read.cgi/tech/1212498448/989
990: デフォルトの名無しさん [sage] 2009/05/24(日) 08:32:17 q http://echo.5ch.net/test/read.cgi/tech/1212498448/990
991: デフォルトの名無しさん [sage] 2009/05/24(日) 08:33:11 b http://echo.5ch.net/test/read.cgi/tech/1212498448/991
992: デフォルトの名無しさん [sage] 2009/05/24(日) 08:34:10 1 http://echo.5ch.net/test/read.cgi/tech/1212498448/992
993: デフォルトの名無しさん [sage] 2009/05/24(日) 08:35:04 l http://echo.5ch.net/test/read.cgi/tech/1212498448/993
994: デフォルトの名無しさん [sage] 2009/05/24(日) 12:46:54 q http://echo.5ch.net/test/read.cgi/tech/1212498448/994
995: デフォルトの名無しさん [sage] 2009/05/24(日) 12:48:01 r http://echo.5ch.net/test/read.cgi/tech/1212498448/995
996: デフォルトの名無しさん [sage] 2009/05/24(日) 12:48:51 k http://echo.5ch.net/test/read.cgi/tech/1212498448/996
997: デフォルトの名無しさん [sage] 2009/05/24(日) 12:49:51 1 http://echo.5ch.net/test/read.cgi/tech/1212498448/997
998: デフォルトの名無しさん [sage] 2009/05/24(日) 12:50:34 h http://echo.5ch.net/test/read.cgi/tech/1212498448/998
999: デフォルトの名無しさん [sage] 2009/05/24(日) 13:02:16 性器 http://echo.5ch.net/test/read.cgi/tech/1212498448/999
1000: デフォルトの名無しさん [sage] 2009/05/24(日) 13:03:31 うんこ http://echo.5ch.net/test/read.cgi/tech/1212498448/1000
1001: 1001 [] Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。 http://echo.5ch.net/test/read.cgi/tech/1212498448/1001
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.027s