Java正则表达式指定长度

标签 java regex

请在下面找到我用于验证电子邮件地址的正则表达式。这工作正常。

^[-!#$%&\\'*+\\\\./<MORE_REGEX_HERE>^_`a-z{|}~]+$

现在我想在此正则表达式中添加长度检查,例如电子邮件地址的最大长度可以为 60。所以我尝试了如下所示的内容

^([-!#$%&\\'*+\\\\./<MORE_REGEX_HERE>^_`a-z{|}~]+){1,60}$

但它不起作用。有什么想法吗?

最佳答案

嘿,如果可行的话,您可以找到以下解决方案:-

这可能是因为您在单个 - 中拥有多个匹配的字符串 -

^[-!#$%&\'*+\\.]+[^_`a-z{|}~]+$

在这种情况下,您不能使用 ^[-!#$%&\'*+\\.]+[^_`a-z{|}~]{1,60}$

匹配整个字符串,但它仅匹配字符串的第二部分,在这种情况下,您需要使用以下正则表达式:-

[^[-!#$%&\\'*+\\\\.]+[<MORE_REGEX_HERE>^_`a-z{|}~]+$]{1,60}

尝试一下,现在应该可以工作了。

关于Java正则表达式指定长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20965445/

相关文章:

java - 从 C 到 Java 的随机生成器端口?

java - 安卓资源$NotFoundException

java - Swing 中 AA 和插值的全局渲染提示

php - Codeigniter 表单验证 - 使用允许重音的正则表达式的自定义回调

正则表达式创建一个空组?

java - 无法访问 TransactionManager 或 UserTransaction 来进行物理事务委托(delegate)

java - 身份验证期间抛出并处理自定义异常 Spring Security + WebFlux

javascript - RegEx 替换为在主题字符串中找到的值

java - a^2nb^n 正则表达式接受 Java 中一个字符相对于其他字符的两次迭代?

用于删除前导点的 Javascript 函数