正则表达式 - 匹配字符串模式

时间:2015-01-15 02:27:31

标签: regex

我需要一个只匹配此类字符串的正则表达式

匹配这些字符串:

edo-apple-iphone-5s-i-gold-16

DON' T匹配这些字符串:

edo-apple-iphone-5s-i-gold-16-edo-staff-connect-24

两个字符串之间的主要区别是添加到字符串末尾的connect-24handset-24

我写了一个正则表达式,但它似乎匹配两个字符串:

^edo[a-z1-9\-]*

如果connect-24 OR handset-24在字符串中,我如何修改此不接受?

2 个答案:

答案 0 :(得分:1)

符合要求的正则表达式:如果connect-24或手机-24在字符串中,则不接受

^(?:(?!connect-24|handset-24).)*$

DEMO

答案 1 :(得分:0)

这是一个满足所述要求的正则表达式:

.{32,}

显然,您想要匹配的字符串都比您不想匹配的字符串长。此正则表达式仅匹配32个字符或更长的字符串,而edo-apple-iphone-5c-i-yellow-32,最长的不匹配字符串,只有31个字符。