gpt4 book ai didi

java - 使用正则表达式在特殊条件下进行名称验证

转载 作者:行者123 更新时间:2023-11-30 08:13:34 24 4
gpt4 key购买 nike

我想验证 Java 中的名称,该名称将允许单次使用以下特殊字符 {,-.'}。我能够使用表达式来实现,该表达式允许用户仅在字符串中输入此类特殊字符。但我无法弄清楚如何添加限制,使用户不能多次添加这些字符。我尝试使用量词来实现它,但仍然不成功。我已经完成了以下代码!

Pattern validator = Pattern.compile("^[a-zA-Z+\\.+\\-+\\'+\\,]+$");

最佳答案

您可以在正则表达式中使用前瞻断言:

Pattern validator = Pattern.compile(
"^(?!(?:.*?\\.){2})(?!(?:.*?'){2})(?!(?:.*?,){2})(?!(?:.*?-){2})[a-zA-Z .',-]+$");

(?!(?:.*?[.',-]){2}) 是负向前瞻,意味着字符类中不允许出现超过 1 个字符。

RegEx Demo

关于java - 使用正则表达式在特殊条件下进行名称验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29992512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com