Posted to tcl by kbk at Sun Jul 11 20:46:03 GMT 2021view pretty
set s { This text contains "quoted strings" some of which contain "escaped \" characters" and even "escaped \\ characters" } set start 0 while {[regexp -indices -start $start {"([^"]|\\\"|\\\\)*"} $s result]} { lassign $result from to set matched [string range $s $from $to] puts "$from: $matched" set start [expr {$to+1}] }