我为以下案例编写了正则表达式:
仅限数字(长度:4)
只有字母(应包含元音)
([0-9]{1,4})|((?=[a-z]*[aeiou])[a-z]*)
例如:9987,tyde
如何添加以下条件?
答案 0 :(得分:1)
如果我很好地解决你的问题,我认为你正在寻找:
图案:
/^(?:[0-9]{1,4}|[bcdfghj-np-tv-z]*[aeiou][a-z]*|[a-z]+[0-9][a-z0-9]*|[0-9]+[a-z][a-z0-9]*)$/i
或更多因子化
/^(?:[0-9]{1,4}(?:[0-9]*[a-z][a-z0-9]*)?|[bcdfghj-np-tv-z]*(?:[aeiou][a-z]*|[a-z]+[0-9][a-z0-9]*))$/i
这是一个简单的交替(我不认为你需要更复杂的东西)。所以只有一个分支机构会成功。
请注意,锚点^
和$
对于此类任务至关重要,以确保考虑整个字符串。