title: Why does this regexp not match?
body: <pre><code>my $genlog_line_1= qr{
     \A
     (?:(\d{6}\s+\d{1,2}:\d\d:\d\d|\d{4}-\d{1,2}-\d{1,2}T\d\d:\d\d:\d\d\.\d+(?:Z|-?\d\d:\d\d)?))? # Timestamp
     \s+
     (?:\s*(\d+))                     # Thread ID
     \s
     (\w+)                            # Command
     \s+
     (.*)                             # Argument
     \Z
  }xs;
  
  my $line = "2018-12-14T17:32:52.236100+08:00        477637459 Query SELECT dv.mandatory,dv.optional FROM dbversion dv";
  
  my ($ts, $thread_id, $cmd, $arg) = $line =~ m/$genlog_line_1/;
  
  print $ts, $thread_id, $cmd, $arg;
  </code></pre>
  
  <p>Why does the regexp not match? What I expect is:</p>
  
  <pre><code>Timestamp 2018-12-14T17:32:52.236100
  thread_id 477637459 
  cmd Query 
  arg  SELECT dv.mandatory,dv.optional FROM dbversion dv
  </code></pre>