2012-09-24 4 views
5

私はいつもRegexの書式と動作との違い、そして私の要求に応じてRegexを作る方法については混乱しています。私はいくつかの一般的なRegex形式をコピーしてプロジェクトに貼り付けますが、明らかに私たちの要件に応じてすべてのRegex形式を見つけることはできません。だから私は正規表現について学びたいと思っています。Objective-CでRegexを作る方法

私は何度も何度も実行コードの後に​​私の推測からそれを作るが、それでも私はいけない、この正規表現

NSString *regexNumber = @"[123456789][0-9]{0}([0-9]{1})?"; 

についてそんなに知っている。これは、Ageを比較し、この年齢に応じて1-9からスタートしなければなりません、最小1桁、最大2桁、数値のみ。

は、今私は、名のために正規表現を作りたい -(EXP - SAINIなどvakul、Vakul、vakul SAINI、Vakul SAINI、vakul SAINI、Vakul)、メール電話番号文字列のみ誕生日、URL。 しかし、私は彼らがどのように動作し、自分のRegexを作るかを学びたいと思ってコピーして貼り付けたくありません。あなたがRegexkit Frameworkを使用する必要があります

+6

http://www.regular-expressions.info/ –

答えて

7

正規表現は、英数字とメタキャラクタ

メタキャラクタである

として知られている特殊文字の組み合わせからなるテキストパターンであるにそれを正規表現のための最善の解決策を見つけました:

\ | () [ {^$ * + ? . < > 

. ----代わりに、任意の文字に一致する特殊なメタ文字です。

* ---- *文字は、行内の文字の0回以上の一致と一致します。

+ ---- +文字は*に似ていますが、1つ以上と一致します。文字

{m,n}

? ---- 0または1つのインスタンス----一致mまたはn文字までを意味します。例えば{1,5}マッチ1または5つの文字

^件まで----それはそれ

次の単語で終わる任意の行にマッチします---

$それに続く言葉で始まった任意の行にマッチします

<> ---それらの単語に一致します。例えば。戻りABC

を含むすべての単語は、あなたは、彼らが頻繁に始まりと終わり括弧の文字を使用して、呼ばれているとして、グループ、または部分式を形成することができます ()(部分式と開始)

|それを終了します - - またはパラメータ

[ and ] ---一連の文字。シーケンス括弧内に置かれた文字はすべて、メタキャラクタでさえリテラル文字として扱われます。唯一の特殊文字は、 - 文字の範囲を表し、^はシーケンスを否定するために使用されます。例えば。 [a-z]

これは正規表現に必要な最も基本的な知識であり、ほぼすべての言語で同じです。詳細については

あなたはthis link

+0

iOSはICU 4.2.1 libの修正版を使用しています。 APIドキュメントはhttp://icu-project.org/apiref/icu4c/index.htmlにあります – ZhangChn

+0

私はすでに 'これは正規表現に必要な最も基本的な知識であり、ほぼすべての言語で同じです。 'これらはiosでも同様に動作します。 – DivineDesert

+0

@CrazyCreator - Nice説明!ありがとう:) – TheTiger

0

は、私は、iOS

+0

おかげ@iYaniv参照することができます - それはどのように正規表現を作るために私を教えてくれるの?誰も私に必要なすべてのRegexフォーマットを与えることができないので、私は他人をコピーする必要はありません。だから私は自分自身を作ることを学びたいと思っています.... – TheTiger

+0

http://www.regular-expressions.info – Janub

+1

@ダニエル・ヒルガルトはすでにこのリンクの最初のコメントを見てきました.....それは良いです学習するためのリンク。 – TheTiger

関連する問題