通常の文字は、メタカラクターとして明示的に指定されていない印刷されたすべての印刷されていない文字で構成されています。これには、すべての大文字と小文字のアルファベット文字、すべての数字、すべての句読点、およびいくつかのシンボルが含まれます。
最も単純な正規表現は、検索された文字列の文字自体に一致する単一の通常の文字です。たとえば、シングルキャラクターパターン「A」は、検索された文字列のどこにでも表示される文字「A」と一致させることができます。シングルキャラクターの正規表現パターンの例をいくつか紹介します。
/a/ /7/ /M/同等のVBScriptシングルキャラクター正規表現は次のとおりです。
a 7 M複数の単一文字を組み合わせて、より大きな式を得ることができます。たとえば、次のJScriptの正規表現は他には何もありませんが、シングルキャラクター式「A」、「7」、「M」を組み合わせて作成する式です。
/a7M/同等のVBScript式は次のとおりです。
a7Mここには接続演算子がないことに注意してください。あなたがする必要があるのは、あるキャラクターを別のキャラクターの後ろに置くことです。
それらを一致させようとするときに特別な処理を必要とするメタチャラクターはたくさんあります。これらの特殊文字に一致するには、最初にそれらを逃がす必要があります。つまり、その前にバックスラッシュ(/)を使用します。次の表は、これらの特殊文字とその意味を示しています。
| 特殊文字 | 説明します |
|---|---|
| $ | 入力文字列の終了位置に一致します。 regexpオブジェクトのマルチラインプロパティが設定されている場合、$も「/n」または「/r」と一致します。 $文字自体を一致させるには、 /$を使用します。 |
| () | サブエクスペッションの開始位置と終了位置をマークします。後で使用するためにサブ発現を取得できます。これらの文字を一致させるには、 /(および /)を使用します。 |
| * | 以前のサブエクスペッションゼロまたは複数回一致します。 *文字を一致させるには、 / *を使用します。 |
| + | 以前のサブエクスペッションを1回以上一致させます。 +文字を一致させるには、 / +を使用します。 |
| 。 | Line Break/Nを除く単一の文字を一致させます。一致するために。、使用 /。 |
| [ | ブラケット式の始まりをマークします。一致するには[、 /[を使用します。 |
| ? | 以前のサブエクスペッションゼロまたは1回と一致するか、非グリーディの予選を示します。 use /? |
| / | 次のキャラクターを、特別なキャラクター、プリミティブキャラクター、後方参照、またはオクタルエスケープキャラクターとしてマークします。たとえば、「n」はキャラクター「n」と一致します。 '/n'は新しいライン文字に一致します。シーケンス '//'は/、 '/(' matches(。 |
| ^ | 正方形のブラケット式で使用されない限り、入力文字列の開始位置に一致します。この時点で、文字コレクションが受け入れられないことを意味します。 ^文字自体を一致させるには、 / ^を使用します。 |
| { | 予選式の始まりにタグを付けます。 {、use /{。 |
| | | 2つのアイテムから選択を指定します。一致する|、使用 /|を使用します。 |
時々使用する必要がある多くの有用な非プリント文字があります。次の表は、これらの非印刷文字を表すために使用されるエスケープシーケンスを示しています。
| キャラクター | 意味 |
|---|---|
| /c x | xで指定されたコントロール文字と一致します。たとえば、 /cmはコントロールMまたはキャリッジリターンに一致します。 xの値は、AZまたはAZの1つでなければなりません。それ以外の場合は、Cを元の「C」文字として扱います。 |
| /f | ページブレイクを一致させます。 /x0cおよび /clに相当します。 |
| /n | 新しいライン文字を一致させます。 /x0aおよび /cjに相当します。 |
| /r | キャリッジリターン文字を一致させます。 /x0dおよび /cmに相当します。 |
| /s | スペース、タブ、ページブレイクなど、ホワイトスペースの文字を一致させます。 [/f/n/r/t/v]に相当します。 |
| /s | ホワイトスペース以外の文字を一致させます。 [^/f/n/r/t/v]に相当します。 |
| /t | タブ文字を一致させます。 /x09および /ciに相当します。 |
| /v | 垂直タブに一致します。 /x0bおよび /ckに相当します。 |
期間(。)は、ラインブレーク(/n)を除き、文字列内の単一の印刷または非印刷文字と一致します。次のJScript正規表現は、「AAC」、「ABC」、「ACC」、「ADC」などに一致し、「A1C」、「A2C」、AC」、A#C 'にも一致することができます。
/ac/同等のVBScript正規表現は次のとおりです。
acピリオド(。)が入力文字列の一部であるファイル名を含む文字列を一致させようとすると、バックスラッシュ(/)文字を使用して正規式の期間をプレフィックスしてこれを実現できます。たとえば、次のJScriptの正規表現は「filename.ext」と一致することができます。
/filename/.ext/VBScriptの場合、同等の式は次のようになります。
filename/.extこれらの表現はまだかなり限られています。それらは、単一の文字にのみ一致することが許可されています。多くの場合、リストの特殊文字を一致させるのに非常に役立ちます。たとえば、入力テキストに、第1章、第2章などとして数字で示される章のタイトルが含まれている場合、これらの章のタイトルを見つけてください。
正方形のブラケット([および])に1つ以上のシングル文字を配置して、一致するリストを作成できます。文字がブラケットに囲まれている場合、リストはブラケット式と呼ばれます。ブラケットでは、他の場所と同様に、普通のキャラクターは自分自身を表しています。つまり、入力テキストに表示される自分自身の1つと一致します。ほとんどの特殊文字は、ブラケットの表現にあるときに意味を失います。いくつかの例外があります:
ブラケット式に含まれる文字は、ブラケット式が正規表現に位置する1つの文字のみと一致します。次のJScriptの正規表現は、「第1章」、「第2章」、「第3章」、「第4章」、および「第5章」と一致することがあります。
/Chapter [12345]/VBScriptで同じ章のタイトルを一致させるには、次の式を使用します。
Chapter [12345]「章」という単語と次のスペースとブラケット内の文字との間の位置関係が固定されていることに注意してください。したがって、ブラケット式は、「章」とスペースの直後に単一の文字位置を満たす一連の文字を指定するためにのみ使用されます。これが9番目のキャラクターの位置です。
キャラクター自体の代わりに範囲を使用して一致するキャラクターを表す場合は、ハイフンを使用して範囲の開始文字と終了文字を分離できます。各文字の文字値は、範囲内の相対順序を決定します。次のJScript正規表現には、上記の括弧リストに相当する範囲式が含まれています。
/Chapter [1-5]/VBSCIPTの同じ関数の式は次のとおりです。
Chapter [1-5]この方法で範囲が指定されている場合、開始値と最終値の両方がその範囲に含まれます。注意する必要があることの1つは、Unicodeソートの開始値が最終値の前でなければならないことです。
ブラケットの表現にハイフンを含めたい場合は、次の方法のいずれかを使用する必要があります。
[/-] [-az] [az-] [!--] [!-~]同様に、リストの先頭にCARET(^)を配置することにより、リストや範囲にないすべての文字を見つけることができます。世話がリストの他の場所に表示されている場合、特別な意味なしにそれ自体と一致します。次のJScript正規表現は、章のタイトルと5を超える章番号と一致します。
/Chapter [^12345]/vbscriptの場合、使用してください。
Chapter [^12345]上記の例では、式は、1、2、3、4、または5を除く9番目の位置の任意の数値文字と一致します。したがって、「第7章」は一致しており、「第9章」も同様です。
上記の式は、ハイフン( - )で表すことができます。 jscriptの場合:
/Chapter [^1-5]/または、vbscriptの場合、次のとおりです。
Chapter [^1-5]ブラケット式の典型的な使用は、大文字または小文字のアルファベット順の文字または任意の数との一致を指定することです。次のjscript式はこの一致を与えます:
/[A-Za-z0-9]/同等のVBScript式は次のとおりです。
[A-Za-z0-9]