0

文字列にこのパターンがあるかどうかを確認するには、正規表現が必要です。

[いくつかのランダムな文字].DDD+DDDD

ランダムな文字で開始できますが、ドットで終了します。次に 3 桁、次にプラス記号の後に 4 桁が続きます。正規表現を作成して、NSString にこのパターンがあるかどうかを確認するにはどうすればよいですか?

ありがとう!

4

3 に答える 3

2

これはあなたが探しているものでなければなりません。

NSString *regex = @"(^[^.]*\.[0-9]{3}\+[0-9]{4}$)";
NSPredicate *pred = [NSPRedicate predicateWithFormat:@"SELF MATCHES %@", regex];
if ([pred evaluateWithObject:mystring])
{
  //do something
}

正規表現をテストするための優れた Regex Generator が多数あります。例: http://rubular.com

于 2012-10-11T23:34:59.430 に答える
0

正しい正規表現は^[^.]*\.[0-9]{3}\+[0-9]{4}$

他の回答はどちらも、特定の文字をエスケープするのを忘れていました。

于 2012-10-11T23:43:22.783 に答える
-1

式 ^[^.]*\.[0-9]{3}\+[0-9]{4}$ で実行できます。

^ は文字列の開始を意味します [^.]*\. 0 個以上の非ピリオド文字の後にピリオドが続くことを意味します [0-9]{3} は 3 桁 (0-9) を意味します \+ はプラスを意味します [0-9]{4} は 4 桁を意味します $ は文字列の終わりを意味します

于 2012-10-11T23:22:57.373 に答える