Cisco 正規表現まとめ


正規表現って、ネットワークエンジニアをやってる上で打ち当たる壁の一つですよね。
自分もホント苦労しました。

始めは記号の一つ一つを理解する事が分からなすぎて、頭をかきむしるほどです。
私も正規表現になれてなく、、そんな頭がよくないんで。


Cisco正規表現のまとめ。BGPで設定するAS番号に設定する記号を紹介

Juniperでも紹介しましたが、CiscoでBGPcommunityなどに用いる際、必要になる正規表現をまとめてみました。
こちらも同様現状把握している正規表現を以下でまとめています。

今後、新しい正規表現を確認次第、追記していくこととします。

正規表現

ベンダー間では正規表現の微妙な違いがあることに注意して設定していくこと。
とくに、最近はCisco製品だけではなくJuniper製品に触る機会が増えてきました。

各ベンダーのコマンド体系、正規表現の使い分けを確認していくことは重要です。

. (ピリオド)

・任意の1文字(スペース記号も含む)
【例】.* → すべて(任意の1文字が連続)

_(アンダーバー)

・任意のもの(最初/最後/空白/カンマなど。つまり通過AS)
【例】_12_ → AS12を経由している(経路)

^(カレット)

・文字列の先頭(ASパスの先頭。つまり隣接AS)
【例】^12 → AS12から広報された(経路)

$(ダラー)

・文字列の終わり(ASパスの最後。つまりつまり経路情報の発生元AS)
【例】12$ → AS12が生成元(の経路)

*(アスタリスク)

・直前の文字がないか1つ以上連続
【例】12*3 → AS番号が13, 123, 1223, etc.

?(クエスチョン)

・直前の文字がないか1つだけ存在
【例】12?3 → AS番号が13か123

+(プラス)

・直前の文字が1つ以上存在
【例】12+3 → AS番号が123, 1223, 12223, etc.

( )(カッコ)

・条件をグループ化。最大で9集合まで可能

[ ](大カッコ)

・カッコの中で当てはまるもの
【例】[abc] → a, b, c

| (パイプ)

・または。OR条件を意味

‐(ハイフン)

・範囲の両端を分類

(エン)

・続く1文字を特殊文字として扱わない
【例】(65001 → subAS65001を示す(この””(“”はメタ文字じゃない)”

まとめ

別途、JuniperはCiscoとは違いコンフィグ体系が全く違って混乱してしまいますが、慣れてしまえばこっちのもんです。
ということでJuniper正規表現のまとめも以下で紹介していますので、興味がある方はどうぞ。

Juniper 正規表現まとめ

2014年2月19日

以上です。


関連記事


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUTこの記事をかいた人

blank

インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!