Negated Character Class[^[:graph:]*] [:graph:]a printing character, excluding spaces [\x21-\x7E]
*the literal * (4210 / 528 / 2A16)
Comment:Do not match on any visible character
\Kresets the starting point of the reported match. Any previously consumed characters are no longer included in the final match
\*the literal * (4210 / 528 / 2A16)
Comment:Reset starting point and then match on a *
Group 1([[:alpha:].,\ ]+(?:\*{2}[[:alpha:].,\ ]+\*{2}?\ ?)?) Character Class[[:alpha:].,\ ]+ +matches at least one character from the set below:
[:alpha:]an alphabetic character [a-zA-Z]
.the literal . (4610 / 568 / 2E16)
,the literal , (4410 / 548 / 2C16)
\ the literal (3210 / 408 / 2016)
Non-Capturing Group(?:\*{2}[[:alpha:].,\ ]+\*{2}?\ ?)? ?repeats the group contents below at most once:
\*{2}the literal * (4210 / 528 / 2A16) , repeated exactly 2 times
Character Class[[:alpha:].,\ ]+ +matches at least one character from the set below:
[:alpha:]an alphabetic character [a-zA-Z]
.the literal . (4610 / 568 / 2E16)
,the literal , (4410 / 548 / 2C16)
\ the literal (3210 / 408 / 2016)
\*{2}?the literal * (4210 / 528 / 2A16) , repeated exactly 2 times
\ ?optionally matches the literal (3210 / 408 / 2016)
(*COMMIT)if the rest of the pattern fails, ends the entire match operation without trying another starting position
\*the literal * (4210 / 528 / 2A16)
\ ?optionally matches the literal (3210 / 408 / 2016)
Comment:Match on ending * then stop matching with COMMIT
x modifier: extended. Ignores unescaped whitespace and comments outside character classes
m modifier: multiline. Causes ^ and $ to match the start and end of each line, not only the start and end of the string
g modifier: global. Finds all matches instead of stopping after the first