をキャプチャするために、私は、この文字列からグループの数をキャプチャする - これは、以下のグループをcaputures正規表現:どのようにオプションのグループ
^%(\w{3})\s+(\d+)\s*([0-9]+\s?:\s?[0-9]+\s?:\s?[0-9]+):[0-9]+\s*(\d{4})?\s*\S*\s*(.*)/(\d+)/\S*:(.*);(.*)
-
%May 11 10:03:49:448 2000 AB-CDE SHELL/6/SHELL_CMD: -Task=vt0-IPAddr=172.0.0.0-User=manager; Command is display info
%May 11 10:03:51:122 2000 AB-CD-E SSH/6/SSH_LOGOUT: STEL user manager (IP: 172.0.0.0) logged out.
次のように私が書いた正規表現があります最初の行から -
1. Group: May
2. Group: 11
3. Group: 10:03:49
4. Group: 2000
5. Group: SHELL
6. Group: 6
7. Group: -Task=vt0-IPAddr=172.0.0.0-User=manager
8. Group: Command is display info
これは、2番目の行を選択しません。最後のセクションで。
私はグループ7オプション
^%(\w{3})\s+(\d+)\s*([0-9]+\s?:\s?[0-9]+\s?:\s?[0-9]+):[0-9]+\s*(\d{4})?\s*\S*\s*(.*)/(\d+)/\S*:(.*);?(.*)
出力作ってみました:
1.1 Group: May
1.2. Group: 11
1.3. Group: 10:03:49
1.4. Group: 2000
1.5. Group: SHELL
1.6. Group: 6
1.7. Group: -Task=vt0-IPAddr=172.0.0.0-User=manager; Command is display info
1.8. Group:
2.1. Group: May
2.2. Group: 11
2.3. Group: 10:03:51
2.4. Group: 2000
2.5. Group: SSH
2.6. Group: 6
2.7. Group: STEL user manager (IP: 172.0.0.0) logged out.
2.8. Group:
が、それでも、それは私の要件を満たしていないが。 なぜ1.7回線にもそれが溢れていません。 と私は2.8に来る2.7の出力をしたいと2.7は2番目の行が持っていないとして空になるはずです。
正規表現を使用してこれを達成する方法はありますか?
Iが正規表現と別の小さな問題に直面してい - %6月13日01:10:00:942 2016 HP OPTMOD/4/MODULE_IN: - スロット= 3; GigabitEthernet3/0/0:トランシーバは1000_BASE_SX_SFPです。 この行では、5番目のキャプチャグループは 'OPTMOD/4/MODULE_IN:-Slot = 3; GigabitEthernet3:' となりますが、OPTMODだけにしたいと思います。 私はそれが複数あることが原因と推測します。しかし、それを修正する方法を理解できませんでした。 –