C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 正規表現


(過去ログ 60 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■34599 / inTopicNo.1)  正規表現
  
□投稿者/ sakura39 (9回)-(2009/04/02(Thu) 14:26:47)

分類:[.NET 全般] 

お世話になります。

WindowsXP
VC#2008 Express Edition

正規表現についてお聞きしたいのですが、"(?=.*[0-9])(?=.*[a-z])"
のパターンに当てはまる文字列はどんなものがありますでしょうか。

? は、0回、または1回の一致
= よくわかりません。
.*[0-9] 0〜9の0回以上の繰り返し?

すみませんがご教授ください。
引用返信 編集キー/
■34600 / inTopicNo.2)  Re[1]: 正規表現
□投稿者/ いしだ (199回)-(2009/04/02(Thu) 14:51:47)
2009/04/02(Thu) 14:55:47 編集(投稿者)

> 正規表現についてお聞きしたいのですが、"(?=.*[0-9])(?=.*[a-z])"
> のパターンに当てはまる文字列はどんなものがありますでしょうか。
a9
とか
99c8
等、数字と英字の小文字を含む文字列なら何でも当てはまるんじゃないでしょうか。

肯定先読み
という言葉を調べると良いんじゃないでしょうか。
引用返信 編集キー/
■34601 / inTopicNo.3)  Re[1]: 正規表現
□投稿者/ 魔界の仮面弁士 (1036回)-(2009/04/02(Thu) 14:55:12)
No34599 (sakura39 さん) に返信
> 正規表現についてお聞きしたいのですが、"(?=.*[0-9])(?=.*[a-z])"
> ? は、0回、または1回の一致
> = よくわかりません。
この場合の「?」は、量指定子の意味ではなく、
http://msdn.microsoft.com/ja-jp/library/3206d374.aspx
「(?= )」にて、グループ化構成体を意味します。
http://msdn.microsoft.com/ja-jp/library/bs2twtah.aspx


> .*[0-9] 0〜9の0回以上の繰り返し?

『0〜9の0回以上の繰り返し』なら、「[0-9]*」と書きます。
「.*[0-9]」は、『末尾に数字の付く文字列』かと。

「.」は、『任意の一文字』。
「*」は、『直前の要素の 0 回以上の繰り返し』。
すなわち、「.*」で『0文字以上の文字列』となります。
「[0-9]」は、『0〜9のいずれか1文字』ですね。
引用返信 編集キー/
■34603 / inTopicNo.4)  Re[2]: 正規表現
□投稿者/ いしだ (200回)-(2009/04/02(Thu) 15:00:11)
2009/04/02(Thu) 15:01:09 編集(投稿者)

> 「.*[0-9]」は、『末尾に数字の付く文字列』かと。
末尾なら
「.*[0-9]$」
となりますかね。
引用返信 編集キー/
■34605 / inTopicNo.5)  Re[3]: 正規表現
□投稿者/ sakura39 (10回)-(2009/04/02(Thu) 15:33:38)
No34603 (いしだ さん) に返信
> 2009/04/02(Thu) 15:01:09 編集(投稿者)
>
>>「.*[0-9]」は、『末尾に数字の付く文字列』かと。
> 末尾なら
> 「.*[0-9]$」
> となりますかね。

みなさん、返信ありがとうございます。

(?=pattern)肯定先読みという意味なんですね。このpatternに当てはまるのは .*[0-9]
でよろしいのでしょうか。



引用返信 編集キー/
■34607 / inTopicNo.6)  Re[4]: 正規表現
□投稿者/ いしだ (201回)-(2009/04/02(Thu) 16:29:47)
2009/04/02(Thu) 17:07:44 編集(投稿者)

> (?=pattern)肯定先読みという意味なんですね。このpatternに当てはまるのは .*[0-9]
> でよろしいのでしょうか。
そうです。

.*[0-9]
は、数字を1つ含む文字列という意味です。
.*[a-z]
は、小文字の英字を1つ含む文字列という意味です。

上の2つの条件が成立すればマッチしたという事になります。

例えば、
abc12defg
という文字列は
a,b,c,1,2それぞれの前の位置がマッチしますね。

よって、
abc12defg
は、この正規表現にマッチするという事になります。
引用返信 編集キー/
■34631 / inTopicNo.7)  Re[2]: 正規表現
□投稿者/ .SHO (782回)-(2009/04/03(Fri) 17:35:25)
既に書かれてますが、数字と英字の小文字が1回づつ入っていれば
何でもOKですね。

"あいaうえ1お"
なんかもマッチします。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -