Regex to extract information of (make a TSV from) 3 versions of a text “block”

Solution 1:

Here is a way to do the job:

  • Ctrl+H
  • Find what: 0\R+(.+)\R(?:(?!CDN)(?!^0$)[\s\S])+(?:\RCDN\$\h+(\d+\.\d+))?(?:\RCDN\$\h+(\d+\.\d+))?\R(?:(?!^0$)[\s\S])+
  • Replace with: $1 $2 $3\n
  • CHECK Match case
  • CHECK Wrap around
  • CHECK Regular expression
  • UNCHECK . matches newline
  • Replace all

Demo & explanation

Screenshot (before):

enter image description here

Screenshot (after):

enter image description here