| リファレンス 05/16/03 14:30:28 |
文字列そのものの検索では、十分な検索結果が得られない場合があります。 たとえば、行の先頭の語や、任意の数のスペースで区切られた2語を検索する場合がそうです。 Novell&Reg; exteNd\xaa Workbenchのテキストベースのエディタでは、通常の検索機能を補強する正規表現(文字列の一致を記述するためのパターン)の使用がサポートされています。
注記: 正規表現による検索は、[Search]を選択すると表示される[Find in Files]ダイアログボックス、およびネイティブエディタから表示される[Find]ダイアログボックスで実行できます。
[Find]ダイアログボックスでは、[Search for]テキストボックスに正規表現の構文を直接入力できるだけでなく、正規表現による検索を行う場合に使用できる「正規表現」のヘルパーメニューもあります。
ヘルパーメニューの項目を選択すると、構文構成要素を作成する1つまたは複数の文字が表現に追加されます。 ほとんどの正規表現の検索では、[Search for]テキストボックスに直接入力するテキストと組み合わせて、これらの構文構成要素を複数使用する必要があります。
正規表現のヘルパーメニュー項目の詳細については、
正規表現のリファレンスを参照してください。
注記: 正規表現の検索を実行中、[Find]ダイアログボックスの一部の検索オプションが使用できなくなります。 たとえば、[Match whole word]オプションは、正規表現自体の中でその選択が行われるため、無意味になります。
[Search]>[Find in Files ]の順に選択するか、またはネイティブエディタで[Search]>[Find]の順に選択します。
[Find]ダイアログボックスが表示されます。
[Regular Expression]チェックボックスをオンにします。
または
[Search for]テキストボックスの右側にある右向き矢印をクリックして、正規表現のヘルパーメニューから選択します。
[Search for]テキストボックスに正規表現を入力するか、またはリテラルテキストと正規表現のヘルパーメニューから選択したものを組み合わせて正規表現を作成します。
次に例を示します。
|
一致語句 |
入力語句 |
|---|---|
|
getTextまたはsetText |
[gs]etText |
|
voidの後にmainが続く場合で、2語の間に任意の数のスペースがある |
void\s+main |
検索条件に一致したテキストは、Workbenchエディタで選択されて表示されます。
この節の表では、Workbenchの正規表現の構文構成要素について説明します。 これらの構成要素の多くは、正規表現のヘルパーメニューから使用できます。
正規表現の構成要素には、次のような複数のカテゴリがあります。
|
構文 |
説明 |
|---|---|
|
[abc] |
単純な文字クラス |
|
[a-zA-Z] |
範囲を持つ文字クラス |
|
[^abc] |
否定文字クラス |
|
構文 |
説明 |
|---|---|
|
[:javastart:] |
Java識別子の開始 |
|
[:javapart:] |
Java識別子の一部 |
|
構文 |
説明 |
|---|---|
|
. |
改行以外の任意の文字に一致する |
|
\w |
語を構成する文字(英数字と"_")に一致する |
|
\W |
語を構成する文字以外の文字に一致する |
|
\s |
空白文字に一致する |
|
\S |
空白文字以外の文字に一致する |
|
\d |
数字に一致する |
|
\D |
数字以外の文字に一致する |
|
構文 |
説明 |
|---|---|
|
^ |
行の先頭でのみ一致する |
|
$ |
行の末尾でのみ一致する |
|
\b |
語の境界でのみ一致する |
|
\B |
語の境界以外でのみ一致する |
すべての閉包演算子(+、*、?、{m,n})は、デフォルトで「欲張り」です。つまり、全体的な一致が失敗しない限りにおいて、できるだけ多くの文字列要素に一致します。
|
構文 |
説明 |
|---|---|
|
A* |
Aに0回以上一致する |
|
A+ |
Aに1回以上一致する |
|
A? |
Aに0回または1回一致する |
|
A{n} |
Aにn回一致する |
|
A{n,} |
Aに少なくともn回一致する |
|
A{n,m} |
Aにn回以上m回以下一致する |
「逆参照」を使用すると、正規表現自体の中に括弧で囲まれた式の内容を参照できます。 正規表現での最初の逆参照は\1、2番目の逆参照は\2のように、順に示されます。 例として、次のような式があるとします。
([0-9]+)=\1
この場合、0=0または2=2のような、「n=n」の形式の任意の文字列に一致します。
| リファレンス 05/16/03 14:30:28 |
Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC, a wholly owned subsidiary of Novell, Inc. All rights reserved.