I have a String column from which I extract regex matches with java snippet (Simple). There can be no match or multiple matches. If a row has 0 matches, remove it, if it has 1 match, do nothing and if it has multiple matches create a new row for each match with the same ID in the ID column and the according match in the Match-column.
or basically normalize it as in normalizing a database.
I would suggest using the Java Snippet with your RegEx as described, but a) return null/missing for 0-hits (can be removed later) and b) generate an array of value in all other cases, 1-n-hits. The returned array can be split with the Split Collection node. I guess this should do the job.
I think that will only create the columns. An Unpivoting node might still be required (probably with additinal filtering). Maybe anĀ Ungroup node is better in this case, it can handle the collection column without splitting and easier to configure.