^start of line
Comment: Match start of line
Condition(?(?=■).*\n|. # Test if first character is a ■. If not match one of anything
(?(?=■).*\n|. # Test if second character is a ■. If not match one of anything
(?(?=■).*\n|. # Test if third character is a ■. If not match one of anything
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|■ # Test if the next to last character is a !. Force a failed (match ■)
.).).).).).).) Uses the first branch if the lookaround matches
■the literal ■ (963210 / 226408 / 25A016)
If the condition is true, match this branch:.*\n .*any character (except for line terminators), repeated any number of times
\na line-feed (newline) character (ASCII 10)
Otherwise, match this branch:. # Test if first character is a ■. If not match one of anything
(?(?=■).*\n|. # Test if second character is a ■. If not match one of anything
(?(?=■).*\n|. # Test if third character is a ■. If not match one of anything
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|■ # Test if the next to last character is a !. Force a failed (match ■)
.).).).).).). .any character (except for line terminators)
Comment: Test if first character is a ■. If not match one of anything
Condition(?(?=■).*\n|. # Test if second character is a ■. If not match one of anything
(?(?=■).*\n|. # Test if third character is a ■. If not match one of anything
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|■ # Test if the next to last character is a !. Force a failed (match ■)
.).).).).).) Uses the first branch if the lookaround matches
■the literal ■ (963210 / 226408 / 25A016)
If the condition is true, match this branch:.*\n .*any character (except for line terminators), repeated any number of times
\na line-feed (newline) character (ASCII 10)
Otherwise, match this branch:. # Test if second character is a ■. If not match one of anything
(?(?=■).*\n|. # Test if third character is a ■. If not match one of anything
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|■ # Test if the next to last character is a !. Force a failed (match ■)
.).).).).). .any character (except for line terminators)
Comment: Test if second character is a ■. If not match one of anything
Condition(?(?=■).*\n|. # Test if third character is a ■. If not match one of anything
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|■ # Test if the next to last character is a !. Force a failed (match ■)
.).).).).) Uses the first branch if the lookaround matches
■the literal ■ (963210 / 226408 / 25A016)
If the condition is true, match this branch:.*\n .*any character (except for line terminators), repeated any number of times
\na line-feed (newline) character (ASCII 10)
Otherwise, match this branch:. # Test if third character is a ■. If not match one of anything
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|■ # Test if the next to last character is a !. Force a failed (match ■)
.).).).). .any character (except for line terminators)
Comment: Test if third character is a ■. If not match one of anything
Condition(?(?=■).*\n|. # and so on...
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|■ # Test if the next to last character is a !. Force a failed (match ■)
.).).).) Uses the first branch if the lookaround matches
■the literal ■ (963210 / 226408 / 25A016)
If the condition is true, match this branch:.*\n .*any character (except for line terminators), repeated any number of times
\na line-feed (newline) character (ASCII 10)
Otherwise, match this branch:. # and so on...
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|■ # Test if the next to last character is a !. Force a failed (match ■)
.).).). .any character (except for line terminators)
Comment: and so on...
Condition(?(?=■).*\n|. # and so on...
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|■ # Test if the next to last character is a !. Force a failed (match ■)
.).).) Uses the first branch if the lookaround matches
■the literal ■ (963210 / 226408 / 25A016)
If the condition is true, match this branch:.*\n .*any character (except for line terminators), repeated any number of times
\na line-feed (newline) character (ASCII 10)
Otherwise, match this branch:. # and so on...
(?(?=■).*\n|. # and so on...
(?(?=■).*\n|■ # Test if the next to last character is a !. Force a failed (match ■)
.).). .any character (except for line terminators)
Comment: and so on...
Condition(?(?=■).*\n|. # and so on...
(?(?=■).*\n|■ # Test if the next to last character is a !. Force a failed (match ■)
.).) Uses the first branch if the lookaround matches
■the literal ■ (963210 / 226408 / 25A016)
If the condition is true, match this branch:.*\n .*any character (except for line terminators), repeated any number of times
\na line-feed (newline) character (ASCII 10)
Otherwise, match this branch:. # and so on...
(?(?=■).*\n|■ # Test if the next to last character is a !. Force a failed (match ■)
.). .any character (except for line terminators)
Comment: and so on...
Condition(?(?=■).*\n|■ # Test if the next to last character is a !. Force a failed (match ■)
.) Uses the first branch if the lookaround matches
If the condition is true, match this branch:.*\n Otherwise, match this branch:■ # Test if the next to last character is a !. Force a failed (match ■)
. .any character (except for line terminators)
.any character (except for line terminators)
.any character (except for line terminators)
.any character (except for line terminators)
.any character (except for line terminators)
.any character (except for line terminators)
Comment: "On the way out" of the match, "eat" characters on the next line
.*any character (except for line terminators), repeated any number of times
$end of line
Comment: Capture the character and match the rest of the line
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
x modifier: extended. Ignores unescaped whitespace and comments outside character classes