付録A 正規表現

Red Hat CloudForms では、正規表現を使用して条件内で使用する特定文字列をファイルのコンテンツ内で検索することができます。以下に挙げるのは、Red Hat CloudForms で文字列検索で最も一般的に使用するアイテムです。これらは正規表現で使用可能なアイテムの一部です。正規表現について詳しくない場合は、www.regular-expressions.info などのリソースがインターネット上に多くあります。ファイルを検索する場合は、ホスト分析プロファイルの一部として収集する必要があることに留意してください。

表A.1 正規表現

アンカー 

^

文字列の開始点

$

文字列の終了点

文字クラス

 

\s

スペース、タブ、改行を含む空白

\S

空白以外

\d

数字、[0-9] と同じ

\D

数字以外

\w

単語

\W

単語以外

修飾子

 

*

0 またはそれ以上の先行する文字

+

1 またはそれ以上の先行する文字

?

0 または 1 の先行する文字

エスケープ文字

 

\

メタ文字の前においてその実際の文字を検索

メタ文字

 

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

特にこれを検索する場合はエスケープ文字と使用すること

特殊文字

 

\n

新しい行

\t

タブ

グループおよび範囲

 

.

新しい行 (\n) 以外のすべての文字

(a|b)

a または b

()

グループ

[abc]

a または b または c

[^abc]

a または b または c 以外

[a-q]

a から q までのいずれかの文字

[A-Q]

A から Q までのいずれかの大文字

[0-7]

0 から 7 までのいずれかの数字

パターン修飾子

 

i

大文字/小文字を区別しない

他のヘルパー

 

.*

2 単語間のテキストを隠します

\s+

2 単語間に最低 1 つの空白を確保します

\s*

2 単語間に 0 またはそれ以上の空白を確保します

^\s*

0 またはそれ以上の空白で行を開始します

\s+.*

2 単語間の全テキストおよび空白を隠します

\d+

2 単語間に最低 1 つの数字を保証します

<\w>

<[a-zA-Z0-(_]> と同一

表A.2 例

説明正規表現

([a-zA-Z0-9]+)

([A-Za-z0-9]+)

sshd で始まる行を探します。次に、コロン : を区切り文字として使用して、4 つ目の ":" の後が 99999 と同等であるかチェックします。

^sshd:[^:]*:[^:]*:[^:]*:99999:

PASS_MAX_DAYS が位置 1 の最初にあり、その後の値が ⇐ 90 であることを検証します。

^\s*PASS_MAX_DAYS\s+([0-9]|[1-8][0-9]|90)

ROOTPW (大文字、小文字を問わない) がコメント解除された行に存在することを検証します。

/[#]*ROOTPW/i

ファイル内の行が size で始まり、その後の値が ⇐ 4096k であることを検証します。

^\s*size\s+(409[0-6]|40[0-8][0-9]|[123][09]{3}|\d{1,3})k

restrict 127.0.0.1 で始まる`1 の位置の行を探して、コメントアウトされていないことを確認します。

^\s*restrict\s+127\.0\.0\.1

/home を含むコメント解除された行を探します。その文字列の前には追加のテキストがあります。

[#]*\/home