What about only testing $4 for items with a single number followed by a colon, and then replacing those with the format desired?
Is there a way to make the latter part optional to the whole of the regex, so they are matched independently of one another? currently i can do one or the other, but i cant believe JG is going to be relegated to two regexes
Local $sString
$sString &= '19,"9/4/2017 3:19:57 PM","-2:00",,"Screen","7000",,B7fspf' & @CRLF
$sString &= '20,"9/4/2017 6:19:58 PM","-2:00",,"Screen","7710",,qmhkNN' & @CRLF
$sString &= '21,"9/12/2017 7:20:27 PM","-2:00",,"Screen","9990",,9ui/GX' & @CRLF
$sString &= '22,"12/4/2017 8:32:53 PM","-2:00",,"Screen","7710",,J4jAYc' & @CRLF
$sString &= '23,"9/5/2017 9:22:02 AM","-2:00",,"Screen","9900",,nSI+V0' & @CRLF
$sString &= '24,"9/5/2017 10:22:05 AM","-2:00",,"Alarm: 9538",,,j8V9qI ' & @CRLF
$sString &= '25,"9/5/2017 11:22:05 AM","-2:00",,"Screen","7710",,C2fSO3' & @CRLF
$sString &= '26,"9/5/2017 12:22:08 AM","-2:00",,"Screen","9900",,jmwr/j'
$sString = StringRegExpReplace($sString, '(\d+)/(\d+)/(\d+)\W(\d):', "$3/$1/$2 0$4:")
ConsoleWrite($sString &@CRLF)