2017-05-01 18 views
-1

对于仅字母数字字符,我具有以下模式。正则表达式仅适用于除另一字符之外的字母数字字符

/^([0-9]|[a-z])+([0-9a-z]+)$/i 

我该如何添加一个只允许出现'='chatacter一次的模式?

+0

这是一个多余的正则表达式。 '/ ^([a-z0-9] +)$/i'完成同样的事情。你不需要'[0-9] | [a-z]'部分,因为第二部分意味着同样的事情。 – Welbog

+0

'([0-9] | [a-z])+'=='[0-9a-z] +' – revo

+2

它应该匹配这些字符串:'= 123','123 =','='? – georg

回答

1
/^[a-z0-9]+(=[a-z0-9]+)?$/i 

这会匹配123abc123abc=def

字符串如果=...部分是强制性的,那么

/^[a-z0-9]+=[a-z0-9]+$/i 
+0

我只想匹配123abc = def324而不仅仅是字母数字。它需要是以=作为分隔符的关键值对 – JohnSnow

+0

@JohnSnow:更新 – georg

+0

非常感谢您的老板 – JohnSnow

0

在这里你的正则表达式,但你没有指定你的模式,所以很难真正理解你想达到什么。 假如你不关心这就是一个顺序:

([a-z0-9])+(=){0,1}

这一个检查是否有1首或多个AZ 0-9个字符的存在并为0或1 =符号

存在

如果你想在一开始在末尾=和字符,你可以如下改变:

^([a-z0-9])+(=){0,1}$

如果你想在中间,然后再她的字符e是一个:

^([a-z0-9])+(=){0,1}([a-z0-9])+$

相关问题