java - 限制长度的正则表达式

标签 java regex

我有一个正则表达式

^[\\p{L}\\d._]*\\p{L}+[\\p{L}\\d._]*$ 

它接受字母、字母数字和特殊字符,例如 .和 _ 。我们可以让这个正则表达式接受总长度最小为3(包括字符、字母数字等)和最大长度为15(包括字符、字母数字等)

谢谢, 巴拉吉。

最佳答案

要添加额外的检查以确保总长度在 3 到 15 之间,您可以使用lookahead:

(?=^.{3,15}$)^[\\p{L}\\d._]*\\p{L}+[\\p{L}\\d._]*$ 

(?=<regex>) 形式的组检查是否 <regex>从当前位置开始匹配,但不向前移动标记。

关于java - 限制长度的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11561212/

相关文章:

java - 如何确保我使用的是 "server"JVM?

java - 小方法的性能偏差

java - Aries managed-service-factory 是否也管理属性?

java - 类型、属性、实例和值之间的关系

java - 匹配标签内的内容

java - 如何从Android发送数据到Mysql

regex - TCL 将文本字符串拆分为多个变量(eggdrop)

python - 集合中的正则表达式

python - 具有多行和 HTML 标签的正则表达式

javascript - 允许仅键入浮点百分比值作为输入