正規表現って、ネットワークエンジニアをやってる上で打ち当たる壁の一つですよね。
自分もホント苦労しました。
始めは記号の一つ一つを理解する事が分からなすぎて、頭をかきむしるほどです。
私も正規表現になれてなく、、そんな頭がよくないんで。
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正規表現のまとめも以下で紹介していますので、興味がある方はどうぞ。
以上です。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す