\(the literal ( (4010 / 508 / 2816)
\w+any word character, repeated at least once
\s+any whitespace character, repeated at least once
\w+any word character, repeated at least once
\s+any whitespace character, repeated at least once
Group os_version(?<os_version>[^;]+) Negated Character Class[^;]+ +matches at least one character outside the set below:
;the literal ; (5910 / 738 / 3B16)
Negated Character Class[^\)]+ +matches at least one character outside the set below:
\)the literal ) (4110 / 518 / 2916)
\)the literal ) (4110 / 518 / 2916)
Negated Character Class[^\)]+ +matches at least one character outside the set below:
\)the literal ) (4110 / 518 / 2916)
\)the literal ) (4110 / 518 / 2916)
\s+any whitespace character, repeated at least once
Group software_name(?<software_name>[^\/]+) Negated Character Class[^\/]+ +matches at least one character outside the set below:
\/the literal / (4710 / 578 / 2F16)
\/the literal / (4710 / 578 / 2F16)
Group software_version(?<software_version>[^ ]+) Negated Character Class[^ ]+ +matches at least one character outside the set below:
the literal (3210 / 408 / 2016)
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