针对给定字符串集验证逗号分隔字符串的可能正则表达式是什么?

what can be the possible regex for validating comma separated strings against set of given string?

我有一组特定的字符串,即以下 4 个字符串

IDE, SATA, SSD, FLOPPY DISK

我想验证上述字符串的所有逗号分隔组合,无论它们出现的顺序如何,并且如果可能,无论它们出现的字符大小写如何。例如,应传递以下内容

sata,floppy disk
IDE,SSD
SATA,ide,SSD
ssd,Floppy Disk

如果我没理解错的话,你可能想要这样的东西:

^(?:(?:ide|sata|ssd|floppy\sdisk),)+(?:ide|sata|ssd|floppy\sdisk)$

Demo

我正在尝试使用以下正则表达式,到目前为止它正在处理案例和特殊字符,但不会过滤重复项

^((?i)all|((IDE|SATA|SSD|FLOPPY DISK)(,(IDE|SATA|SSD|FLOPPY DISK))*))$

您可以在下面 link

找到上面的正则表达式和一些测试用例

https://regex101.com/r/BKlfBF/1/tests