为了账号安全,请及时绑定邮箱和手机立即绑定

正则表达式中的字符范围

正则表达式中的字符范围

茅侃侃 2022-05-25 15:41:35
正则表达式:^[a-zA-Z]+(?:[\\s'.-]*[a-zA-Z]+)*$我想在其上添加另一个验证,即最少 3 个字符和最多 15 个字符。正则表达式:^([a-zA-Z]+(?:[\\s'.-]*[a-zA-Z]+)*){3,28}$这是验证最小字符而不是最大字符。任何帮助表示赞赏。
查看完整描述

1 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

您可以使用正向前瞻(?=.{3,15}$来检查字符串的长度是否为 3 到 15 个字符。

因为字符串的最小长度是 3 并且必须以 a-zA-Z 开头和结尾,所以在这种情况下,您可以在中间组合 2 个字符类。

我认为您的模式可以通过删除组的重复来简化,因为积极向前看:

^(?=.{3,15}$)[a-zA-Z]+[\\s'.a-zA-Z-]*[a-zA-Z]+$

解释

  • ^字符串的开始

  • (?=.{3,15}$)积极前瞻断言长度 3-15

  • [a-zA-Z]+匹配 1+ 次小写/大写字符 az

  • [\\s'.a-zA-Z-]*匹配任何列出的 0 次以上的字符类

  • [a-zA-Z]+匹配 1+ 次小写/大写字符 az

  • $字符串的结尾

查看Java 演示


查看完整回答
反对 回复 2022-05-25
  • 1 回答
  • 0 关注
  • 210 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号