0

Objective-cではまだ正規表現を使用していません。私が今やろうとしているのは、文字列を評価して、4文字または5文字の繰り返しパターンが含まれているかどうかを確認することです。どのパターンでも構いません。たとえば、likeという文字列@"testA54RqA54Rq"は正規表現から真の値を返しますが、likeという文字列は返し@"testA54Rq"ません。現在、可能なすべての4文字と5文字の部分文字列を生成し、それらを相互に照合していますが、これは明らかに非常に非効率的です。Objective Cで正規表現の使用を開始する方法に関するリソースはどこにありますか?小さな例の前に誰かがこの状況にあったらいいでしょう。

-編集-

また、trueを返すようなものが欲しい@"testQWEr30BKRe40"です(4文字の後に2つの数字が続くパターン)。これが可能かどうかはわかりません。

4

2 に答える 2

2

あなたはおそらく見たいと思うでしょう:

https://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSRegularExpression_Class/Reference/Reference.html

私が信じている実際の正規表現は次のとおりです。(\\w{4,5})\\1


NSString *regexStr = @"(\\w{4,5})\\1"; 
NSError *error = nil; 
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regexStr options:0 error:&error]; 
if ((regex==nil) && (error!=nil)) {
  warn( @"Regex failed for: %@, error was: %@", string, error); 
} else {

}
于 2012-06-29T17:27:51.740 に答える
1

正確なパターンについては、正規表現でそのような検証を行うことができます(.{4,5})\\1

4 つの文字の後に 2 つの数字が続くようなカテゴリ パターンを実行する場合は、次の操作を行う必要があります。

  1. すべての文字を 1 つの定数文字に置き換えます (たとえば、 に置き換えます[a-zA-Z]) X
  2. すべての数値を 1 つの定数に置き換えます (たとえば、 に置き換えます\\d) 0
  3. 上記と同じ正規表現を使用して、そのような変更された入力を検証します
于 2012-06-29T18:58:07.370 に答える