我对正则表达式有一个要求-以数字开头,然后可以有字母数字和用于连字符、点、下划线和空格等的特殊字符-_.\\s+.我的另一个重要要求是数字的长度在5到30(含)之间,但不应该是10或12个字符.我已经准备了如下正则表达式:

^[0-9][a-zA-Z0-9-_.\\\s+]{5,30}$

我知道上面的正则表达式规定长度在5到30个字符之间,但我如何将其限制为不具有10或12个字符的长度.

请帮帮忙.

推荐答案

但我如何限制它不能有10或12个字符的长度.

您可以在模式的开头插入一个负数前视,以不需要10个或12个字符:(?!.{10}$|.{12}$).

那么整个模式将是:

^(?!.{10}$|.{12}$)[0-9][a-zA-Z0-9-_.\\\s+]{5,30}$

Java相关问答推荐

在Spring Boot中测试时出现SQL语法错误

javafx getHostServices(). showDocument()调出Chrome而不是默认浏览器(Linux)

Cosmos Change Feed Process Lag远远超过收集中的记录数量

如何在Android上获取来电信息

如何粘合(合并)文件Lucene?

@org.springframework.beans.factory.annotation.Autowired(required=true)-注入点有以下注释:-SpringBoot

有关手动创建的包的问题

为什么我要创建一个单独的互斥体/锁对象?

SpringBoot Kafka自动配置-适用于SASL_PLAYTEXT的SSLBundle 包,带SCRAM-SHA-512

使SLF4J在Android中登录到Logcat,在测试中登录到控制台(Gradle依赖问题)

在处理2个映射表时,没有更多的数据可从套接字读取

如何在JUNIT测试中覆盖ExecutorService?

如何在Jooq中获取临时表列引用?

为什么我不能建立输入/输出流?Java ServerSocket

在Java泛型中使用通配符时,如何推断类型

协同 routine 似乎并不比JVM线程占用更少的资源

如何在MPAndroidChart中的条形图上正确添加标签

获取401未经授权,即使在标头中设置了浏览器名称和cookie

ReturnedRect在升级后反转

UuidGenerator Bean 类型不匹配?