Posted to tcl by oldlaptop at Wed Nov 24 06:06:43 GMT 2021view pretty
% set stuff { Foo: bar Baz: quux spam ham Egg: bacon bacon baked beans and spam Stuff: Yada: dada dada dada Florb: nothing } Foo: bar Baz: quux spam ham Egg: bacon bacon baked beans and spam Stuff: Yada: dada dada dada Florb: nothing % regexp -all -inline {([A-Z][a-z]+): ([^:]+)} $stuff {Foo: bar Baz} Foo {bar Baz} {Egg: bacon bacon baked beans and spam Stuff} Egg {bacon bacon baked beans and spam Stuff} {Yada: dada dada dada Florb} Yada {dada dada dada Florb} % lmap {whole_match key value} [regexp -all -inline {([A-Z][a-z]+): ([^:]+)} $stuff] { dict set details $key [lrange $value 0 end-1] } {Foo bar} {Foo bar Egg {bacon bacon baked beans and spam}} {Foo bar Egg {bacon bacon baked beans and spam} Yada {dada dada dada}} % puts $details Foo bar Egg {bacon bacon baked beans and spam} Yada {dada dada dada} % dict get $detail Egg bacon bacon baked beans and spam