const regex = new RegExp('^(\\%.*|Command rejected.*)', 'gm')
const str = `**State Acronym: H - Healthy, W - Warning, C - Critical
Resource Usage Max Warning Critical State
----------------------------------------------------------------------------------------------------
RP0 (ok, active) H
Control Processor 29.42% 100% 80% 90% H
DRAM 2840MB(72%) 3938MB 88% 93% H
bootflash 1889MB(69%) 2753MB 70% 90% H
ESP0(ok, active) H
QFP H
DRAM 81237KB(41%) 196608KB 85% 95% H
IRAM 207KB(10%) 2048KB 85% 95% H
CPU Utilization 2.00% 100% 90% 95% H
Load Average
Slot Status 1-Min 5-Min 15-Min
RP0 Healthy 1.24 1.20 1.23
Memory (kB)
Slot Status Total Used (Pct) Free (Pct) Committed (Pct)
RP0 Healthy 4033104 2909060 (72%) 1124044 (28%) 3749844 (93%)
CPU Utilization
Slot CPU User System Nice Idle IRQ SIRQ IOwait
RP0 0 3.51 4.89 0.00 90.10 0.95 0.53 0.00
1 2.96 4.55 0.00 90.98 1.06 0.42 0.00
2 21.93 2.01 0.00 75.28 0.67 0.09 0.00
3 29.17 34.41 0.00 25.93 10.09 0.37 0.00
2222233333111111111111111111111111111111 111112222222222
100
90
80
70
60
50
40
30
20
10
0....5....1....1....2....2....3....3....4....4....5....5....6
0 5 0 5 0 5 0 5 0 5 0
CPU% per second (last 60 seconds)
1 1 1 1 1 1 1
439546515464943339403403334255420343303354853430442395424873
100
90
80
70
60
50
40
30
20
10 ** **#* * # * * * *** * * * ** * ** *
0....5....1....1....2....2....3....3....4....4....5....5....6
0 5 0 5 0 5 0 5 0 5 0
CPU% per minute (last 60 minutes)
* = maximum CPU% # = average CPU%
% Ambiguous command
% Invalid input detected at '^' marker
% Bad Mask /xx for address X.X.X.X
% X.X.X.X overlaps with GigabitEthernet0/1
Command rejected: Conflict between 'nonegotiate' and 'dynamic' status
% Configuration of multiple subinterfaces of the same main interface with the same VID is not permitted
% Configuring IP routing on a LAN subinterface is only allowed if that subinterface is already configured as part of a VLAN
% Inconsistent address and mask
% Invalid next hop address (it's this router)
`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions