^start of line
\[the literal [ (9110 / 1338 / 5B16)
start file]the literal text start file] (case sensitive) Non-Capturing Group(?:\n(?!age:|\[(?:start|end) file]).*)* *repeats the group contents below any number of times:
\na line-feed (newline) character (ASCII 10)
Negative Lookahead(?!age:|\[(?:start|end) file]) age:the literal text age: (case sensitive) 2nd Alternative\[(?:start|end) file] \[the literal [ (9110 / 1338 / 5B16)
Non-Capturing Group(?:start|end) startthe literal text start (case sensitive) endthe literal text end (case sensitive) file]the literal text file] (case sensitive) .*any Unicode character (except for line terminators), repeated any number of times
\na line-feed (newline) character (ASCII 10)
age: the literal text age: (case sensitive) \d+a Unicode decimal digit, repeated at least once
Non-Capturing Group(?:\n(?!\[(?:start|end) file]).*)* *repeats the group contents below any number of times:
\na line-feed (newline) character (ASCII 10)
Negative Lookahead(?!\[(?:start|end) file]) \[the literal [ (9110 / 1338 / 5B16)
Non-Capturing Group(?:start|end) startthe literal text start (case sensitive) endthe literal text end (case sensitive) file]the literal text file] (case sensitive) .*any Unicode character (except for line terminators), repeated any number of times
\na line-feed (newline) character (ASCII 10)
\[the literal [ (9110 / 1338 / 5B16)
end file]the literal text end file] (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