FC2ブログ

NSRegularExpression Class Reference メモ

NSRegularExpression Class Reference メモ

概要
NSRegularExpressionクラスは、Unicode文字列に正規表現を表しており、
適用するために使用されます。このクラスのインスタンスは、コンパイルされた
正規表現パターンと様々なオプションフラグの不変の表現です。現在サポート
されているパターンの構文は、ICUで指定されたということです。 ICUの正規表現
はhttp://userguide.icu-project.org/strings/regexpで説明されています。
NSRegularExpressionのための基本的なマッチング方法は、クライアントが正規表現は、
ターゲット文字列の部分に一致するたびに起動されたBlockオブジェクトを供給することが
できますブロックiteratorメソッドです。配列として、すべての一致を返すための便利な
メソッドがありますが、マッチは、最初に一致した、と最初に一致した範囲の合計数。
個人戦は、全体のマッチ範囲(その範囲のプロパティを介して)、および個々のキャプチャ
グループの範囲(:メソッドrangeAtIndex経由)に関する情報を伝える
NSTextCheckingResultクラスのインスタンスによって表されます。
基本NSRegularExpressionオブジェクトの場合、これらの試合結果は、
型NSTextCheckingTypeRegularExpressionになりますが、サブクラス
は他の種類を使用することができます。

NSRegularExpressionの使用例
NSRegularExpressionクラスを使用するための段階的な例のセット​​は何ですか続きます。
すべてのこれらの例は、正規表現を使用する\\ bは(A | B)(C | D)\\ bは、正規表現として。
このコードでは、最初の文字は、"a"または "b"で、2番目の文字が"C"または "D"である、
2文字の単語にマッチする正規表現を作成します。マッチは大文字と小文字を区別しないので、
これは"BC"、"AD"など、ならびにそれらの小文字の同等物に一致することを
NSRegularExpressionCaseInsensitive手段を指定します。

numberOfMatchesInString:オプション:範囲:メソッドは、文字列の指定された
範囲内で一致した数をカウントするための簡単なメカニズムを提供します。

オプション:範囲:あなたが最初の一致のみ、rangeOfFirstMatchInStringの範囲全体に
興味を持っている場合の方法は、あなたのためにそれを提供しています。いくつかの正規表現は
(たとえばパターンではありませんが)に成功し、長さゼロの範囲を一致させることができ、
{NSNotFound、0}の結果として得られる範囲の比較が一致するかどうかがあったかどうかを
判断するための最も信頼性の高い方法ですので。
例えば正規表現が括弧の2セットに対応する2つのキャプチャグループは、最初の文字のための1、
秒のいずれかが含まれている。あなたは単なる全体的なマッチング範囲に興味を持っている場合は、
特定の一致に対応NSTextCheckingResultオブジェクトを取得したいと思います。このオブジェクトは、
その範囲のプロパティを経由して、全体の一致した範囲についての情報を提供し、また、キャプチャグルー
プ範囲を供給し、rangeAtIndexを介して:メソッド。による第二[結果rangeAtIndex:2]最初
のキャプチャグループの範囲は[1結果rangeAtIndex]で与えられる。結果をrangeAtIndex送信:
メッセージパッシングと0と、[結果の範囲]に相当します。
返された結果がnil以外であると、[結果の範囲]は、常に有効な範囲であるので、
{NSNotFound、0}に対してそれを比較することが必要ではないでしょう。しかし、いくつかの正規表現
(たとえばパターンではありませんが)のためにいくつかのキャプチャグループは、かもしれない、
または指定された試合に参加できないことがあります。与えられたキャプチャグループが与えられた
試合に参加していない場合は、[結果rangeAtIndex:idxは] {NSNotFound、0}を返します。

matchesInString:オプション:範囲:すべての一致結果を返します。

firstMatchInString:オプション:範囲:範囲:オプション:メソッド
がmatchesInStringに似ていますが、それだけで最初にマッチしたものを返します。

ブロックの列挙メソッドenumerateMatchesInString:オプション:範囲:usingBlockは:
NSRegularExpressionのマッチング方法の中で最も一般的で柔軟性に富んでいます。それはあなた
のようにブロック内のコードで指定されたそれぞれの上で任意のアクションを実行し、文字列内の一致
を反復処理するために、必要に応じて途中で停止することができます。次の例の場合では、反復がマッチ
一定数の後に停止されているが発見されています。

NSRegularExpressionは、文字列上の不良、検索および置換の操作のための単純なメソッドを提供します。
次の例では、変更されたコピーを返しますが、所定の位置に変更可能な文字列を変更するための対応する方法がある。
テンプレートは、というように、全体のマッチ範囲は、最初のキャプチャグループの内容を表す$ 1の内容を表す0ドルで、
各試合を交換するために使用されるかを指定します。この場合、テンプレートは、単語の2文字を逆にします。
特別なオプションNSMatchingReportProgressまたはNSMatchingReportCompletionのどちらも指定されて
いる場合は、ブロックへの結果引数がnil以外であることが保証され、かつ、それが有効な全体的な範囲を持っているこ
とが保証される前に、前述のように。 NSMatchingReportProgressまたはNSMatchingReportCompletionの
意義"NSMatchingOptions"を参照してください。
スポンサーサイト
姉妹サイトだよ! よかったらみてね!

コメントの投稿

非公開コメント

twitter
twitter アカウント @drum_kuroneko 気軽にフォローしてください。
誰でも簡単に開発ができます!!
人気ナンバー1
自己紹介

yuutyan0205

プロガー:yuutyan0205
きままな自由人です。

たまにプログラミングを行っています。

仕事ください・・・

開発者アプリ一覧 気になったらダウンロードしてください。
開発環境おすすめ
カレンダー
09 | 2018/10 | 11
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
最新記事
月別アーカイブ
カテゴリ
アクセスランキング
[ジャンルランキング]
コンピュータ
935位
アクセスランキングを見る>>

[サブジャンルランキング]
マック
50位
アクセスランキングを見る>>
訪問者数
現在の訪問者数
現在の閲覧者数:
全記事表示リンク

全ての記事を表示する

相互リンク希望の方とご質問ある方ご連絡ください。

名前:
メール:
件名:
本文: