\ba Unicode word boundary
Ciscothe literal text Cisco (case sensitive) \s+a Unicode whitespace character, repeated at least once
Group 1((?:(?!\bSoftware\b)[A-Za-z ])*) Non-Capturing Group(?:(?!\bSoftware\b)[A-Za-z ])* *repeats the group contents below any number of times:
Negative Lookahead(?!\bSoftware\b) \ba Unicode word boundary
Softwarethe literal text Software (case sensitive) \ba Unicode word boundary
A-Zone character from A (6510) to Z (9010) (case sensitive)
a-zone character from a (9710) to z (12210) (case sensitive)
the literal (3210 / 408 / 2016)
\sa Unicode whitespace character
.*?any Unicode character (except for line terminators), repeated any number of times
Softwarethe literal text Software (case sensitive) 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