1

アップルのドキュメントを読み込もうとしましたが、正規表現を使用することはなく、この問題を解決する方法がわかりません。ユーザーがこのルールに一致する文字列を選択したかどうかを確認するための正規表現を作成する必要があります。最初の文字はsまたはSで、オプションの2番目の文字は。です。(文字ドット)そしてそれはオプションの4桁の数字で1から4までであり、数字がazからの任意の1文字を表すことができた後は常に存在する必要があり、私が。を持つことができた後はオプションである可能性があります。(char dot)そしてそれはオプションです最後の2は数字でなければなりません常に2の数字でなければならず、オプションである可能性があります

私はこのように書こうとしました

NSString *regexStr = @"(s|S)?(\\.)?(\\d+){,4}([a-z]?(\\.)?(\\d+){2}?";

しかし、コンソールはこのエラーを出します

Error making regex: Error Domain=NSCocoaErrorDomain Code=2048 
"The operation couldn’t be completed. (Cocoa error 2048.)" UserInfo=0x6d3e9b0  
{NSInvalidValue=(s|S)?(\.)?(\d+){,4}([a-z]?(\.)?(\d+){2}?}

誰かが私を助けることができますか?ありがとう!

4

1 に答える 1

2

どうぞ:

(s|S)?(\.)?(\d){0,4}[a-z]?(\.)?(\d){2}?

構文を無効にする余分な開き括弧があり+、sの後に記号を\d付けると、正規表現が無限の桁数を受け入れるようになります。

正規表現は正規表現のデバッグに最適です: http://regexpal.com/

于 2012-06-06T07:55:39.230 に答える