Positive Lookbehind(?<= \s ) \sany whitespace character
Comment: Match opening braket (i.e., `[`).
\[the literal [ (9110 / 1338 / 5B16)
Comment: Match any single character (e.g., `x`).
Group symbol(?<symbol> .) .any character (except for line terminators)
Comment: Matching closing braket (i.e., `]`)
\]the literal ] (9310 / 1358 / 5D16)
Positive Lookahead(?= \s* [?!*]? \s* ) \s*any whitespace character, repeated any number of times
?matches at most one character from the set below:
?the literal ? (6310 / 778 / 3F16)
!the literal ! (3310 / 418 / 2116)
*the literal * (4210 / 528 / 2A16)
\s*any whitespace character, repeated any number of times
Comment: Exclude entries without text (i.e., incl. in tables).
Negative Lookahead(?!
\s* [?!*]? \s* \|
|
\s* [?!*]? \s* $
) 1st Alternative
\s* [?!*]? \s* \|
\s*any whitespace character, repeated any number of times
?matches at most one character from the set below:
?the literal ? (6310 / 778 / 3F16)
!the literal ! (3310 / 418 / 2116)
*the literal * (4210 / 528 / 2A16)
\s*any whitespace character, repeated any number of times
\|the literal | (12410 / 1748 / 7C16)
2nd Alternative
\s* [?!*]? \s* $
\s*any whitespace character, repeated any number of times
?matches at most one character from the set below:
?the literal ? (6310 / 778 / 3F16)
!the literal ! (3310 / 418 / 2116)
*the literal * (4210 / 528 / 2A16)
\s*any whitespace character, repeated any number of times
$end of line
Comment: Match the text (i.e., disregarding the modifier).
Comment: \s* (?<modifier> [!?*]?) \s* (?<text> .*?)
Comment: Match the text (i.e., capture based on modifier presence).
Non-Capturing Group(?:
# Match modifier (i.e., `!`, `?`, or `*`) and the text that follows.
\s* (?<modifier>[!?*]) \s* (?<textmod>.*?)
|
# Match the text that does not follow a modifier.
\s* (?! [!?*]) \s* (?<text>.*?)
) 1st Alternative
# Match modifier (i.e., `!`, `?`, or `*`) and the text that follows.
\s* (?<modifier>[!?*]) \s* (?<textmod>.*?)
Comment: Match modifier (i.e., `!`, `?`, or `*`) and the text that follows.
\s*any whitespace character, repeated any number of times
Group modifier(?<modifier>[!?*]) !the literal ! (3310 / 418 / 2116)
?the literal ? (6310 / 778 / 3F16)
*the literal * (4210 / 528 / 2A16)
\s*any whitespace character, repeated any number of times
Group textmod(?<textmod>.*?) .*?any character (except for line terminators), repeated any number of times
2nd Alternative
# Match the text that does not follow a modifier.
\s* (?! [!?*]) \s* (?<text>.*?)
Comment: Match the text that does not follow a modifier.
\s*any whitespace character, repeated any number of times
Negative Lookahead(?! [!?*]) !the literal ! (3310 / 418 / 2116)
?the literal ? (6310 / 778 / 3F16)
*the literal * (4210 / 528 / 2A16)
\s*any whitespace character, repeated any number of times
.*?any character (except for line terminators), repeated any number of times
Comment: Match until either of the stops that follow are met.
Positive Lookahead(?= \s+ \^[a-z0-9]{6,} | \s+ \| | \s*$) 1st Alternative \s+ \^[a-z0-9]{6,} \s+any whitespace character, repeated at least once
\^the literal ^ (9410 / 1368 / 5E16)
Character Class[a-z0-9]{6,} {6,}matches at least 6 characters from the set below:
a-zone character from a (9710) to z (12210) (case sensitive)
0-9one character from 0 (4810) to 9 (5710)
\s+any whitespace character, repeated at least once
\|the literal | (12410 / 1748 / 7C16)
\s*any whitespace character, repeated any number of times
$end of line
x modifier: extended. Ignores unescaped whitespace and comments outside character classes
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