0

私は文字列を持っています

//webcache.googleusercontent.com/search?hl=en&lr=&rlz=1G1GGLQ_IWIL297&q=cache:UadRLVLrpCQJ:http://www.buy.com/prod/pny-geforce-9800-gx2-1gb-512-bit-ddr3-600mhz-pci-e-2-0-dual-dvi-hdmi/207534756.html%2BVCG98GX2XPB%2Bsite%253Abuy.com&ct=clnk

9桁のシーケンスが含まれているかどうかを確認するにはどうすればよいですか? この例では、207534756

私はこれを試しました:

String resultString = Regex.Match(i.ToString(), @"\d+").Value;
if (resultString.Length == 9){}

しかし、それは機能しません

4

4 に答える 4

5

で試してください@"[0-9]{9}"。連続して正確に9桁に一致します。

編集:より正確には、周りに他の数字がないことも確認することです:@"(^|[^0-9])[0-9]{9}([^0-9]|$)"

于 2012-05-05T19:12:03.817 に答える
4

Regex.IsMatch繰り返し長指定子を使用した正規表現を使用するだけです。

if(Regex.IsMatch(i.ToString(), @"\d{9}")) {
    // ...
}
于 2012-05-05T19:10:59.980 に答える
1

9桁の文字列に一致するように正規表現を変更します。

@"\d{9}"

また、最初の一致Regex.Matchのみを返すを使用しているため、現在のコードは機能しません。

Regex.Matches結果を使用してループする必要があります。

于 2012-05-05T19:12:01.680 に答える
0

'\ d {9}'

http://www.w3schools.com/jsref/jsref_obj_regexp.aspを参照してください。これはちょうど良いリファレンスです...RegexBuddyもあります...GoogleRegexリファレンスだけです

于 2012-05-05T19:12:28.473 に答える