Definition Group(?(DEFINE)
(?<ips>[^()]+)
(?<incoming>Incoming\ Interface \ List)
(?<outgoing>Outgoing\ Interface \ List)
(?<end>^$|\Z)
) Negated Character Class[^()]+ +matches at least one character outside the set below:
(the literal ( (4010 / 508 / 2816)
)the literal ) (4110 / 518 / 2916)
Group incoming(?<incoming>Incoming\ Interface \ List) Incomingthe literal text Incoming (case sensitive) \ the literal (3210 / 408 / 2016)
Interface the literal text Interface (case sensitive) \ the literal (3210 / 408 / 2016)
Listthe literal text List (case sensitive) Group outgoing(?<outgoing>Outgoing\ Interface \ List) Outgoingthe literal text Outgoing (case sensitive) \ the literal (3210 / 408 / 2016)
Interface the literal text Interface (case sensitive) \ the literal (3210 / 408 / 2016)
Listthe literal text List (case sensitive) ^start of line
$end of line
\Zend of string, or before its final line terminator
^start of line
\(the literal ( (4010 / 508 / 2816)
(?&ips)calls group ips as a subroutine
\)the literal ) (4110 / 518 / 2916)
Non-Capturing Group(?:(?!(?&incoming))[\s\S]+?) Negative Lookahead(?!(?&incoming)) (?&incoming)calls group incoming as a subroutine
+?matches at least one character from the set below:
\sany whitespace character
\Sany non-whitespace character
(?&incoming)calls group incoming as a subroutine
\ra carriage return (ASCII 13)
\na line-feed (newline) character (ASCII 10)
Group in(?P<in>(?!(?&outgoing))[\s\S]+?) Negative Lookahead(?!(?&outgoing)) (?&outgoing)calls group outgoing as a subroutine
+?matches at least one character from the set below:
\sany whitespace character
\Sany non-whitespace character
(?&outgoing)calls group outgoing as a subroutine
\ra carriage return (ASCII 13)
\na line-feed (newline) character (ASCII 10)
Group out(?P<out>(?!^$)[\s\S]+?) ^start of line
$end of line
+?matches at least one character from the set below:
\sany whitespace character
\Sany non-whitespace character
(?&end)calls group end as a subroutine
g modifier: global. Finds all matches instead of stopping after the first
m modifier: multiline. Causes ^ and $ to match the start and end of each line, not only the start and end of the string
x modifier: extended. Ignores unescaped whitespace and comments outside character classes