0

hostnamefrom aだけを与える正規表現を探していFQDNます。

host例: " " から " "だけが欲しいhost.company.com

私はこれまでにこれを思いつきました:

^(.{4}).* 

ただし、CMDB に格納されている一部のデバイスは完全な FQDN を持っていないため、ドットのないデバイスも検出できます。

私が今苦労しているのは、ホスト名の長さが異なる場合です。

4

2 に答える 2

1

したがって、最初の期間の前にすべてを取得しようとしているので、次のようにします。

^(.*?)\.

疑問符は可能な限り一致しないことを示し、をエスケープします。実際のドットを表すようにします。

host.company.comと照合すると、「host」を返します。

ピリオドがない可能性があるという事実を説明するために、|修飾子を使用します。

^(.*?)(\.|$)

$は行末と一致します。

ただし、ピリオドが必要かどうかわからない場合は、正規表現を使用せず、代わりに文字列に対して検索関数またはアルゴリズムを使用すると、より実用的で堅牢になります。

于 2012-10-02T11:23:19.770 に答える
0
^([^.]+)(\.|$| )

それをキャプチャする必要があります(ほとんどの実装でサポートされている貪欲でない正規表現を提供するため、私はこのように使用しています)。

于 2012-10-02T11:24:27.947 に答える