Try this:
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