आप regexp_split_to_table
. का उपयोग कर सकते हैं क्षतिग्रस्त के लिए नकारात्मक लुकहेड के साथ;
SELECT "ID", regexp_split_to_table("Cars", '((, (?!damaged))| and )') "Cars"
FROM mytable;
ID | Cars
----+-----------------
1 | opel
1 | honda
1 | land rover
2 | ford
2 | porshe, damaged
3 | volkswagen
4 | opel
4 | seat, damaged
(8 rows)
संपादित करें:आपके नए उदाहरणों के लिए, रेगेक्स को थोड़ा बदलना पड़ा;
SELECT "ID", regexp_split_to_table("Cars", '(([,;] (?!damaged))|[,;]? and )') "Cars"
FROM mytable;