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

时间:2017-07-10 19:54:37

标签: regex regex-negation regex-lookarounds

我有一组特定的字符串,即跟随4个字符串

IDE, SATA, SSD, FLOPPY DISK

我想验证以上字符串的所有逗号分隔组合,而不管它们出现的顺序如何,并且如果可能的话,无论它们出现何种特征情况。例如,应传递以下内容

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

2 个答案:

答案 0 :(得分:2)

如果我理解正确,你可能想要这样的东西:

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

Demo

答案 1 :(得分:0)

我正在尝试跟随Regex,到目前为止它处理案例,并在开始时使用特殊字符但不会过滤重复项

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

您可以在以下链接中找到上面的正则表达式和一些测试用例

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