如何在数字字符串中设置字母限制

时间:2019-06-04 22:23:43

标签: regex

我尝试了一些我在论坛上读过的解释,但没有成功

我想在一个数字字符串中设置一个字母限制

例如,最多三个字母的限制:

示例:AAA12348  例如:12AAA234  例如:1234A568

2 个答案:

答案 0 :(得分:1)

以下模式在每个字符串中最多只能包含3个字母。它锚定在字符串的开头,然后断言它后面没有四个字母,中间用任何东西隔开。

^(?!.*[A-Za-z].*[A-Za-z].*[A-Za-z].*[A-Za-z]).*$

https://regex101.com/r/pQmili/2

编辑:如果您还希望禁止使用其他某些字符集,例如!#,则可以创建一个包含这些字符集的附加否定超前组。

^(?!.*[A-Za-z].*[A-Za-z].*[A-Za-z].*[A-Za-z])(?!.*[!#]).*$

https://regex101.com/r/pQmili/3

答案 1 :(得分:0)

我猜这里我们希望失败两个输入,而只传递其中一个:

((\D+?)\d{1,3}(\D+?))

Demo

RegEx电路

jex.im可视化正则表达式:

enter image description here