fork(1) download
  1. set str {Pattern[1]:
  2. Key : "key1"
  3. Value : 100
  4. Pattern[2]:
  5. Key : "key2"
  6. Value : 20
  7. Pattern[3]:
  8. Key : "key3" Value : 30
  9. Pattern[4]:
  10. Key : "key4"
  11. Value : 220"}
  12.  
  13. set RE {Pattern\[\d+\]:[^P]*(?:P(?!attern\[\d+\]:).)*}
  14.  
  15. set updateList [regexp -all -inline $RE $str]
  16. puts $updateList
Success #stdin #stdout 0s 16504KB
stdin
Standard input is empty
stdout
{Pattern[1]: 
Key : "key1" 
Value : 100
} {Pattern[2]: 
Key : "key2" 
Value : 20
} {Pattern[3]: 
Key : "key3" Value : 30
} {Pattern[4]: 
Key : "key4" 
Value : 220"}