Try this:

Code:
alias retest1 {
  var %s = beginning text 00:0:00 middle text 00:00:00 end text
  if ($regex(re1,%s,/^((?:.+\s+)?)((\d\d?):(?3):(?3))\s+((?:.+\s+)?)((?2))((?:\s+.+)?)$/i)) {

    echo -a (Before): $regml(re1,1)
    echo -a (Match1): $regml(re1,2) 
    echo -a (Middle): $regml(re1,4) 
    echo -a (Match2): $regml(re1,5) 
    echo -a (Ending): $regml(re1,6)
  }
  else { echo -a No Match }
}


The $regml's are shown in the code above. Note that $regml #3 is used to contain an expression that is repeated, so it doesn't contain any useful data.

I wasn't sure whether you wanted to match 2 different or identical strings (strings, not patterns).

The code above matches 2 different strings in 2 places with the same pattern.
Example: "TEXT 00:0:00 TEXT 00:0:00 TEXT" = match
Example: "TEXT 0:00:0 TEXT 00:0:00 TEXT" = match


If you want to match the same string in 2 places, change the (?2) to (\2) in the code above.
Example: "TEXT 00:0:00 TEXT 00:0:00 TEXT" = match
Example: "TEXT 0:00:0 TEXT 00:0:00 TEXT" = NO match

-genius_at_work