SonicOS 7 一致オブジェクト

正規表現の構文

このセクションでは、正規表現の作成に使用する構文について説明します。

正規表現の構文: 単一文字
入力形式 定義
. '\n' 以外の任意の文字。'\n' も照合するには、/s (ストリーム モード、または 1 行モードとも呼ばれる) 修飾子を使用します。
[xyz] 文字クラス。エスケープ文字も指定できます。かっこ ([ ]) で囲まれた特殊文字は特別な意味を持たないので、エスケープする必要はありません。
\xdd 16 進入力。"dd" は文字の 16 進値です。2 つの数字が必須です。例えば、\r は \x0d で、\xd ではありません。
[a-z][0-9] 文字範囲。
正規表現の構文: 複合
入力形式 定義
xy x に y が続く
x|y x または y
(x) x と同等です。優先をオーバーライドするのに使用できます。
正規表現の構文: 繰り返し
入力形式 定義
x* 0 個以上の x
x? 0 または 1 個の x
x+ 1 個以上の x
x{n, m} 最小 n 個、最大 m 個の x。すべての数字の分だけ繰り返しが拡張されます。そのため、不当に大きい m を使用することは賢明ではありません。
x{n} 正確に n 個の x
x{n,} 最小 n 個の x
x{,n} 最大 n 個の x
正規表現の構文: エスケープ シーケンス
入力形式 定義
\0、\a、\b、\f、\t、\n、\r、\v C プログラミング言語のエスケープ シーケンス (\0 は NULL 文字 (ASCII 文字のゼロ))。
\x 16 進値。\x とそれに続く 2 つの 16 進数字は、対象の文字の 16 進値を示します。
\*, \?, \+, \(, \), \[, \], \{, \}, \\, \/, \<space>, \#

特殊文字をエスケープします。

処理されないコメントの前には、任意の数のスペースと 1 個のポンド記号 (#) が付きます。そのため、スペースまたはポンド記号 (#) を照合するには、エスケープ シーケンス \ および \# を使用する必要があります。

正規表現の構文: Perl に似た文字クラス
入力形式 定義
\d、\D 数字、数字以外。
\z、\Z 0 以外の数字 ([1-9])、それ以外のすべての文字。
\s、\S 空白、空白以外。[\t\n\f\r] と同等。\v は Perl 空白には含まれません。
\w、\W 単語文字、単語文字以外。[0-9A-Za-z_] と同等です。
正規表現の構文: その他の ASCII 文字クラスの基本命令
文字クラス 表現
[:cntrl:] \c、\C 制御文字。[\x00 - \x1F\x7F]。
[:digit:] \d、\D 数字、数字以外。Perl 文字クラスと同じです。
[:graph:] \g、\G スペース以外の任意の印刷可能文字。
[:xdigit:] \h、\H 任意の 16 進数。[a-fA-F0-9]。水平スペースを意味する Perl の \h とは異なります。
[:lower:] \l、\L 任意の小文字。
[:ascii:] \p、\P 正または負の ASCII 数字。[0x00 – 0x7F]、[0x80 – 0xFF]。
[:upper:] \u、\U 任意の大文字。

その他の一般的な文字クラスの一部は、上記の基本命令から作成できます。以下の文字クラスに関しては、使用できる残りの文字に適切なニーモニックがないため、独自の簡略表現はありません。

正規表現の構文: 複合文字クラス
文字クラス 表現
[:alnum:] = [\l\u\d] すべての文字と数字のセット。
[:alpha:] = [\l\u] すべての文字のセット。
[:blank:] = [\t<space>] 空白文字のクラス: タブとスペース。
[:print:] = [\g<space>] すべての印刷可能文字のクラス: スペースを含むすべてのグラフィカル文字。
[:punct:] = [^\P\c<space>\d\u\l] すべての句読文字のクラス: 否定 ASCII 文字、制御文字、スペース、数字、大文字または小文字を含みません。
[:space:] = [\s\v] すべての空白文字。Perl の空白と垂直タブ文字を含みます。
正規表現の構文: 修飾子
入力形式 定義
/i 大文字と小文字を区別する
/s 入力を 1 行として扱います。ストリームモードと考えることもできます。つまり、‘.’ は ‘\n’ にも一致します。
正規表現の構文: 演算子の優先順位 (降順)
演算子 結合規則
[ ], [^] 左から右
() 左から右
*, +, ? 左から右
. (連結) 左から右
| 左から右

正規表現でのコメント

SonicOS は、正規表現でコメントをサポートしています。コメントの前には、任意の数のスペースと 1 個のポンド記号 (#) を付けます。スペースとポンド記号の後のテキストはすべて、表現の終わりまで破棄されます。

Was This Article Helpful?

Help us to improve our support portal

Techdocs Article Helpful form

  • Hidden
  • Hidden

Techdocs Article NOT Helpful form

  • Still can't find what you're looking for? Try our knowledge base or ask our community for more help.
  • Hidden
  • Hidden