\ba Unicode word boundary
\wa Unicode word character
p?optionally matches the literal p (11210 / 1608 / 7016) (case sensitive)
Non-Capturing Group(?:T[X0-4]?)? ?repeats the group contents below at most once:
Tthe literal T (8410 / 1248 / 5416) (case sensitive)
?matches at most one character from the set below:
Xthe literal X (8810 / 1308 / 5816) (case sensitive)
0-4one character from 0 (4810) to 4 (5210)
\s?optionally matches a Unicode whitespace character
Non-Capturing Group(?:V[X0-2])? ?repeats the group contents below at most once:
Vthe literal V (8610 / 1268 / 5616) (case sensitive)
Xthe literal X (8810 / 1308 / 5816) (case sensitive)
0-2one character from 0 (4810) to 2 (5010)
\s?optionally matches a Unicode whitespace character
Non-Capturing Group(?:N[X0-3])? ?repeats the group contents below at most once:
Nthe literal N (7810 / 1168 / 4E16) (case sensitive)
Xthe literal X (8810 / 1308 / 5816) (case sensitive)
0-3one character from 0 (4810) to 3 (5110)
\ba Unicode word boundary
Positive Lookbehind(?<=\w) \wa Unicode word character
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