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


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

正規表現 Part6



1 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 00:36:04 ]
正規表現(Regular Expression)スレです。

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

【 前スレ 】 正規表現 Part5
pc12.2ch.net/test/read.cgi/tech/1212498448/

2 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 00:37:38 ]
◆関連サイト
正規表現メモ
www.kt.rim.or.jp/~kbk/regex/regex.html
Perl正規表現雑技
www.din.or.jp/~ohzaki/regex.htm
Regular Expression(Riue ちゃんの正規表現講座)
www.sixnine.net/regexp/
正規表現パズル
oraclesqlpuzzle.hp.infoseek.co.jp/regex/
詳説 正規表現
www.oreilly.co.jp/books/4873111307/
正規表現プログラミングFAQ
capslockabcjp.kitunebi.com/faq.html
JScript 正規表現の概説
msdn.microsoft.com/library/ja/script56/html/js56reconIntroductionToRegularExpressions.asp
.NET Framework 正規表現言語要素
msdn.microsoft.com/library/ja/cpgenref/html/cpconregularexpressionslanguageelements.asp
【 初心者 】 正規表現 【 入門 】
funcchan.blog16.fc2.com/

3 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 00:40:40 ]
◆関連スレ
[UNIX板] 正規表現
pc12.2ch.net/test/read.cgi/unix/1039165754/
[WebProg] 正規表現道場
pc11.2ch.net/test/read.cgi/php/1168450843/

◆前スレ
[1] pc8.2ch.net/test/read.cgi/tech/1062152374/
[2] pc8.2ch.net/test/read.cgi/tech/1131028296/
[3] pc11.2ch.net/test/read.cgi/tech/1156413899/
[4] pc11.2ch.net/test/read.cgi/tech/1186030400/
[5] pc12.2ch.net/test/read.cgi/tech/1212498448/

4 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 00:42:02 ]
スルーされにくい質問のテンプレと例

●正規表現の使用環境
Java1.5

●検索か置換か?
検索

●説明
各行の1番目のAまでを検索したい

●対象データ
ABCA
BCAA
CABA

●希望する結果
ABCA
^
BCAA
^^^
CABA
^^

5 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 22:55:29 ]
すいません、質問です。
(a{3}|b{3}|c{3})

[abc]{3}
は等しいですか?

6 名前:トーマス mailto:sage [2009/05/07(木) 23:32:33 ]
>>5
ちょっと違います

前者は aaa、bbb、ccc の3種類の文字列にしかマッチしませんが
後者は abc、cba、aab などにもマッチします

後者は3文字の文字列であれば1文字ごとに文字が変わってもいいのです


7 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 01:41:34 ]
>>6
なるほどぉ
理解できました、ありがとうございました!

8 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 19:09:29 ]
pc12.2ch.net/test/read.cgi/software/1236203046/396-397n
より誘導されてきました。

X-Finderは内部関連付けに正規表現を使えるのですが

foo.gz や foo.tar.gz その他の *.gz にマッチするが
foo.xcf.gz にマッチしないものはどう書けば良いかわからず困っています。

www.din.or.jp/~ohzaki/regex.htm#WithoutXYZ
ここを参考に

*.([^x]|x(c?x)*([^xc]|c[^xf]))*(x(c?x)*x?)?.gz

と書いてみましたが動きませんでした。
希望通りの動作にするにはどう書けば良いのでしょうか?

9 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 19:14:17 ]
>>8
(?<!xcf).gz

10 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 19:52:11 ]
>>9
レスどもです。
でも (?<!xcf).gz と *.(?<!xcf).gz と *(?<!xcf).gz を試してみましたがダメでした。

x-finderがどの正規表現に対応してるかわかれば良かったんですが
検索しても見つからなかったんですよね…。



11 名前:8 mailto:sage [2009/05/08(金) 20:22:04 ]
x-finderの機能で別の指定方法があり
そちらで希望の動作ができましたので
質問を下げさせていただきます。お騒がせしました。

12 名前:デフォルトの名無しさん [2009/05/08(金) 21:55:38 ]
スレ違いでなければいいのですが…

●正規表現の使用環境
PHP4.3

●検索か置換か?
置換

●説明
html内のテキストから特定のタグ(特定のurlへのリンク)のみを削除したい

●対象データ
…テキスト<a href="a.php?id=○○">「aへのリンク」</a>テキスト<a href="b.php?id=△△">「bへのリンク」</a>テキスト<a href="c.php?id=□□">「cへのリンク」</a>テキスト…

●希望する結果
…テキスト<a href="a.php?id=○○">「aへのリンク」</a>テキスト「bへのリンク」テキスト「cへのリンク」テキスト…


このようなことは可能でしょうか?
aへのリンクのみを残して、bとcへのリンクを削除したいのですがタグとタグの間の文字は残したいのです
また動的ファイルのためパラメータがその都度変化します

13 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 23:26:26 ]
(\<a href="[^a].+\>)「.+?」(\<\/a\>)
これで$1と$2を空白に置換でどうだろ。
今、出先なんで確認取ってないです。

14 名前:トーマス mailto:sage [2009/05/09(土) 02:15:26 ]
>>12
PHP4.3 で動くかどうかは分からないのですが、
以下の正規表現チェッカーで動いたものを貼っておきますね。

PHP正規表現チェッカー ver1.0.1
www.rider-n.sakura.ne.jp/regexp/regexp.php

検索表現
<a\s[^>]*href\s*=(?!\s*"?\s*a\.php\?id=)[^>]+>(.*?)</a>

置換表現
\1

何故か置換表現を $1 と書いても動かなかったので \1 にしました。
$1 で動くのであればこれを使って下さい。

15 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 14:57:39 ]
>>13
>>14
ありがとうございます
こちらも出先なので戻り次第確認してみようと思います

16 名前:デフォルトの名無しさん [2009/05/10(日) 01:19:30 ]
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>

17 名前:デフォルトの名無しさん [2009/05/10(日) 01:24:06 ]
<center><script>varx1,y1,x2,y2,x3,y3;vara,b,c,s,S;varS1,S2,M,N;
/*倍率*/M=100000000;
/*回数*/N=1000;
document.write('<style>td,th{font-size:10;}</style><tableborder=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>

18 名前:デフォルトの名無しさん [2009/05/10(日) 01:31:29 ]
<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>

19 名前:デフォルトの名無しさん [2009/05/10(日) 01:40:10 ]
JavaScriptが動く HTML実験部屋
ttp://homepage2.nifty.com/tomoarai/java/exper.html


20 名前:デフォルトの名無しさん [2009/05/10(日) 13:46:16 ]
<TAG xxxxxxxxxxxxxxxxxxxxx />
<TAG xxxxxxxxxxxxxxxxxxxxx >yyyyyyyyyyyyyyyyyyyyyy</TAG>

上記文字列から、x, y を一つの正規表現で抽出することは可能でしょうか?





21 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 13:49:53 ]
>>20 >>4

22 名前:デフォルトの名無しさん [2009/05/10(日) 14:07:14 ]
>>20

残念ながら不可能です。


23 名前:デフォルトの名無しさん [2009/05/12(火) 09:24:09 ]
質問お願いしいたます。

●正規表現の使用環境
XPですFlexible Renamerなどのリネームソフトでファイル名の文字化けした箇所のみ消したいのです

●検索か置換か?
置換

●説明
半角カタカナ ロシア文字 ハングル文字 中国語の漢字 特殊な記号 を全て置き換え

英数字以外全ての文字 を全て置き換え

日本語以外全ての文字 を全て置き換え

の方法があれば教えてください

●対象データ
File_鱈鯵D12345_xxハンカクカタカナ゙x@дЩ鱈賦xxx.jpg

●希望する結果
File_12345_xxxxxx.jpg

24 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 21:13:05 ]
半角英数と[-_.]ぐらいを残すとして、Flexible Renamerを使うなら
[^-_.a-zA-Z0-9]
を検索のところに入れて、置換を空白でリネームすればどうだろうか
\Wは\wが全角も拾うっぽくてうまくいかないな

25 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 23:09:02 ]
>>24
必要な文字の方を残して消せば良かったんですね、勘違いしてました・・・
理想的な方法が出来ましたありがとうございました!!!

[^-_.a-zA-Z0-9]
[^-_.a-zA-Z0-9a-zA-Z0-9ァ-ヶぁ-ん〜ー亜-煕一-龠]
[^-_.a-zA-Z0-9a-zA-Z0-9ァ-ヶぁ-ん〜ー亜-腕弌-熙]

26 名前:デフォルトの名無しさん [2009/05/15(金) 08:39:43 ]
●正規表現の使用環境
php5

●検索か置換か?
検索

●説明
画像の中に連続した数字があるか調べたい

●対象データ
F1 00 00 00 00 00 00 00 00 00 EE
DS 00 12 47 36 11 66 00 00 11 FS

●希望する結果
match or not


単純な文字列は扱えるのですが16進数からどう取り出せば良いか分かりません。
まずfile_get_contentsでファイルを読み込んでおり、\x00 == $strなどは分かりますが正規表現でどうすれば良いのかが分かりません。
どなたかご教示願いますm(__)m

27 名前:デフォルトの名無しさん mailto:sage [2009/05/15(金) 09:25:50 ]
>>26
php知らんけど、「画像の中に連続した数字」と言うのは単純に「バイト列中に特定の値が連続する」と解釈して宜しいか?
だとすれば、\x00\{2,\}でよさそうだが。

28 名前:デフォルトの名無しさん [2009/05/15(金) 09:32:12 ]
(.)\1*


29 名前:デフォルトの名無しさん [2009/05/15(金) 09:33:49 ]
同一文字の2個以上の連続は

(.)\1+



30 名前:デフォルトの名無しさん mailto:sage [2009/05/15(金) 15:04:59 ]
画像が16進数ってどういうこと?>>26
画像は画像じゃん。



31 名前:デフォルトの名無しさん mailto:sage [2009/05/15(金) 15:46:03 ]
画像「データ」つまりバイナリに対してマッチさせたいという話でしょ
一瞬、画像認識かとも思ったけど

32 名前:デフォルトの名無しさん mailto:sage [2009/05/16(土) 20:58:37 ]
"連続した数字" とは何を指すんだろう。
バイナリの00も連続した数字と言えるし他の解釈の仕方も出来る。

自分の考えていることを相手に正確に伝えられない人はまず
日本語の勉強をするべき。

33 名前:デフォルトの名無しさん mailto:sage [2009/05/16(土) 22:32:48 ]
連続した数字というと1,2,3,4,5を連想してしまう。
PHPって文字列とバイナリを区別しないんじゃない。

34 名前:デフォルトの名無しさん mailto:sage [2009/05/17(日) 13:34:43 ]
テンプレの意味わかってんのかな
対象データと希望する結果がそれじゃわけわからん。

35 名前:デフォルトの名無しさん mailto:sage [2009/05/17(日) 16:12:54 ]
質問主は 16進数 の意味がワカットランと思う。
もしかしたら 数字 の意味もワカットランと思う。
最近は学校でそゆこと教えないのか?

36 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 01:27:32 ]
unko123.com
unko784.com
unko962.com

これらを正規表現する時
unko\d\.com と unko\d+\.com どっちが正しい?

37 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 01:31:00 ]
\d{3}と迷うならともかく前者はありえん

38 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 01:46:11 ]
>>37
unko\d{3}+\.com ってこと?

39 名前:デフォルトの名無しさん [2009/05/18(月) 03:03:12 ]
+余計だろ

40 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 09:03:05 ]
ん、+のない\dが複数桁の数字にマッチする実装があるって事?



41 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 09:17:02 ]
{n} で n 個の一致。 \d{3} は \d\d\d と等価。


42 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 09:39:06 ]
ああ、39は38に宛ててか。

43 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 09:53:06 ]
unko[0-9][0-9][0-9]\.com
unko[0-9]{3}\.com
unko[0-9]+\.com

unko.\d\d\d\.com
unko\d{3}\.com
unko\d+\.com

44 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 10:08:35 ]
いやいや、正しくは
unko[179][286][342]\.com
だろう。

45 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 10:36:26 ]
>>44
それなら
unko(123|784|962).com
の方が正しいだろう。

46 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 10:45:49 ]
おまいら楽しそうだなw

47 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 16:50:19 ]
$txt = aaa(’12165;

のような、固定文字列aaaの後ろに『(’nnnnn;』(nの部分は必ず半角数字で値と文字数は可変。’は全角)となる箇所がうじゃうじゃあり、
この文字列の数字を挟んでいる記号だけを全て削除したいのですが、しっくりくる正規表現が浮かびません
妙案ないでしょうか

php5 or 4

48 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 18:54:48 ]
PHPってこんなんだっけ?
mb_ereg_replace("(?!aaa\\()’(\\d+);", "\\1", "aaa(’12345;");

49 名前:デフォルトの名無しさん [2009/05/18(月) 22:22:53 ]
8桁の10進数を文字列とみなしたとき、
下2桁が"00"でない文字列をヒットしたい。如何すればよいか?

50 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 22:40:03 ]
/\d{6}[1-9]{2}/



51 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 22:40:57 ]
いや、違うな。
/\d{6}(\d[1-9]|[1-9]\d)/

52 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 22:51:45 ]
>>47
マルチかよ

53 名前:49 [2009/05/18(月) 23:29:28 ]
>>51
ありがとう

54 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 06:57:22 ]
/\d{6}(?!00)\d\d/

55 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 17:03:24 ]
言語:Java

文字列:
$:hogeA;
$:hogeB;

これをpattern&matchさせるにはどうすればいいのでしょうか?

56 名前:55 mailto:sage [2009/05/22(金) 17:23:55 ]
質問内容を間違えました。

文字列:
${hogeA}
${hogeB}

これをpattern&matchさせるための正規表現は \\$\{.*.} でOK?
(Eclipse 3.2 JDK 1.6でエラーが出るorz )

57 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 17:25:45 ]
なんなのそのバックスラッシュ

58 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 18:18:22 ]
「pettern&match」とは何ぞや? アンド?

59 名前:55 mailto:sage [2009/05/22(金) 18:23:06 ]
>>58

Patternオブジェで正規表現コンパイルして、
Matcherのfindメソッドで一致を確認したいのです。

60 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 18:27:04 ]
$\{.+\}
javaはしらん



61 名前:55 mailto:sage [2009/05/22(金) 18:56:03 ]
自己解決しました。
Matcher#groupで取得するため
(\\$\\{.*.\\})でうまくいきました。
>>60 つ旦 ありがとう。

62 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 17:18:21 ]
<img src="./topimg_0905.gif" alt="テキスト" border="0" />

PHPで上のようなイメージタグからtopimag_に続く4桁の数字とalt=""の中身のテキスト(全半角マチマチ文字列)のみを
それぞれ$gifと$altに抽出したいのですがよい方法はないでしょうか

63 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 04:14:06 ]
そういうのはHTMLパーサ使った方がいいって言ってるだろうが。


64 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 18:16:27 ]
UNIXで、与えられたパスが絶対パスである条件って
$(|~\S*)?/\S*
でいいですか?
思いがけないパターンがありそうで怖いんですがどうでしょうか

65 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 09:25:40 ]
「先頭がスラッシュか」だけじゃ駄目?

66 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 10:40:58 ]
~ユーザ名/も絶対パスとみなしたいんだろ

67 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 09:42:09 ]
それだったら~/も含める必要がありそうな。

68 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 10:03:33 ]
知らないならレスしないでください

69 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 18:15:39 ]
>>67
~\S*だから入るんじゃないのか


70 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 18:16:50 ]
^[~/]でもよさそうな気もするな



71 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 19:35:46 ]
IMOX って空白を含むディレクトリ名ってだめだっけ?

72 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 19:36:52 ]
困ったことに、使えるねぇ。

73 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 19:37:02 ]
キーボードが1列ずれた。すまんw
IMOX じゃなくて UNIX って書きたかった

74 名前:デフォルトの名無しさん [2009/05/29(金) 23:31:42 ]
何事もなく返答する>>72に萌えた

75 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 17:18:03 ]
よろしくお願いします。

現在Yahoo!pipes(ttp://pipes.yahoo.com/pipes/)を使っているのですが、
pipesの中でデータをURLエンコードしたいと思っています。
そのような機能はないので、正規表現(マニュアルによるとPerlライク)でやろうと思っているのですが、
Perlの関数を使えないのでunpackを使うやり方ができません。

純粋な正規表現のみでURLエンコードはできるものなのでしょうか。
修飾子として使えるのは「gsmi」のみです。


76 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 17:32:16 ]
>純粋な正規表現のみでURLエンコード
正規表現を利用してなら可能だろうだけど、正規表現のみじゃ無理
なんつーかノリも必要なペーパークラフトをハサミだけで作れって感じだ
URLっていう型紙からデータを切り抜くだけでどうやってURLエンコードを組み立てるよ

77 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 17:34:11 ]
/\x00/%00/g
/\x01/%01/g

/\xFF/%FF/g

78 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 17:46:46 ]
>>76
ですよね・・・

>>77
うおっ!

79 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 18:05:44 ]
>>77
それやると % と 0-F の文字が置換されないか?

80 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 18:21:31 ]
深く考えずに書いたネタにマジレスされても困るんだが、本気でこのアプローチを採用するなら、
0-9A-Fは置換する必要ないし、%を一番頭に持ってくればいい。



81 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 19:31:17 ]
行頭から6文字目までをマッチさせるにはどう記述したらよいでしょうか?

82 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 20:29:36 ]
^.{6}

83 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 21:22:45 ]
>>82
助かりましたありがとうございます

84 名前:デフォルトの名無しさん [2009/06/08(月) 23:24:52 ]
FlashのActionScript3.0(WinXP-Pro)です。

文字列中で特定の文字列のみに色付けをしようとしていますが、目的の文字列
以外でも色が付き困っています。

例えば、『名無し』という文字列のみを青色にしようとすると、独立した文字列
 名無し
はOKなのですが、「デフォルトの名無しさん」でも『名無し』が青色になってしまい
ます。

A名無しB という場合(前または後ろに不要な文字がある場合、つまり他の文字列
に組み込まれた場合)は対象から外し、単独の場合のみを対象したく思っています。

これに適した正規表現はありますでしょうか?


85 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:43:22 ]
^名無し$

86 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 00:22:19 ]
>>85
有難うございます。しかしながら、質問が不十分でした。
確かに独立した文字列は許可したいのすが、それ以外に A名無しB で
AまたはBが
1) 半角のスペースの場合
2) 半角の左括弧 ( の場合
3) 改行の場合
4) ピリオドの場合

に名無しを青色にしたく思っています。
当初、キャラクターコードとif文で分岐しようとしましたが煩雑になったので
正規表現を利用しようと思いました。

こんな場合はどうでしょうか?


87 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 12:48:17 ]
不特定の半角英数字と半角記号でできている半角文字列の中から (' ') に挟まれた数列だけを残して他を削除したいのですが方法はないでしょうか

例)
234hbhkltgfokdlthL+POL+PL>?*|{?('54653');
の中から54653だけを取り出し他を削除

※不特定文字列内において、 (' や ') は取り出す予定の数列を挟む場所以外では現れません

PHP

88 名前:デフォルトの名無しさん [2009/06/09(火) 13:17:17 ]
('...') は複数出現するのかな?一応それを考慮して

$a = preg_replace('/(?:(?!\(\').)*(?:\(\'(\d+)\'\))?/', '$1', $a);

89 名前:87 mailto:sage [2009/06/09(火) 13:47:46 ]
>>88
ありがとうございます
('nnn')は1カ所しか出てきません
自分で応用できないかやってみたんですがムリでしたw
1カ所しかでてこないバージョンを教えてくださいw

90 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 15:43:57 ]
PHPの書式は分からないけど、
\('(.+)'\)
で検索して、後方参照で\1だけ残せば良いんじゃない?



91 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 10:57:23 ]
>  \('(.+)'\)
Vサインしてるクマたんみたいでかわいい

92 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 11:32:12 ]
submatchでグループ化したものを抜き出せば良いんでない?

93 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 13:39:54 ]
(V)o¥o(V) フォッフォッフォ

94 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 08:14:41 ]
(a+b) - (b - c)

みたいな文字があって
()の中をそれぞれ取り出したい場合

(.*)ってやると
一番最初の(と最後の)でも一致してしまう
させたくないんだけどどうすればいいの?

環境はVB.NET

95 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 09:05:24 ]
>>94
特殊な意味を持つ文字は\でエスケープする

\([^)]*\) かな

96 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 09:14:48 ]
>>94
VB.NETはよく知らんが、大体「.*」ってやると「よくばり」モードになるぞ。
「よくばり」モードはその例の場合だと途中の括弧も飲み込んじゃって、
目一杯取ってくるから、「.*?」ってやるといい。
「?」をつけると「けちけち」モードになって、必要最小限しか取ってこない。

97 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 09:55:28 ]
>>94
最短一致でググるといいぜ

98 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 11:46:17 ]
非欲張り、という表現が一般的じゃないかと思うのだが。

99 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 11:55:08 ]
正しさはともかく一般的なのは「最短一致」

"最短一致" に一致する日本語のページ 約 2,610 件
"非欲張り" に一致する日本語のページ 約 373 件

100 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 14:21:42 ]
欲張りマッチの事、貪欲マッチと呼ばない?



101 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 00:00:57 ]
>>95で出来た
ついでにもう1つ
英数字の連続が5文字以上を一致させたい場合はどうすれば?






[ 続きを読む ] / [ 携帯版 ]

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

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