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