java - 以下情况的正则表达式模式用于验证名称

标签 java regex

我已经为以下用例编写了模式

您可以使用大小写字母、数字和 _、连字符、#、$、@ 符号

名称长度最多应为 255 个字符。 至少一个字符必须是强制字母或数字 _ , 连字符 , # , $ , @

我想出了正则表达式 ^[a-zA-Z0-9 ._-]*$ 这有效吗我无法限制 255 个字符和 # 、 $ 、 @ 验证

  Valid Ex: abc 12345
    abc12345
    abc.ert.trs.123
    abc.bcv.trs
    abc.trt#trs
     a
    a$
    $a#
    1234$
    567#
  test  123 #

最佳答案

您可以使用此正则表达式:

^(?=.*?[\w$#@-])[\w .$#@-]{1,255}$

这里 (?=.*?[\w$#@-]) 是一个正向前瞻,确保至少有一个字符是 之一[\w$#@-] 字符。

我还使用了 \w (单词字符),相当于 [a-zA-Z0-9_]

关于java - 以下情况的正则表达式模式用于验证名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25238782/

相关文章:

Java在Mac上,如evt.iscontroldown evt.iscommanddown 全部?

java - 对于 UUID 类型的列,在插入新行时返回 H2 数据库中默认生成的主键值

java - 在 Java 中循环遍历 List<Map<Integer, Map<Long, Integer>>>

java - Internet 连接更改广播未发生

javascript - 用美元符号替换 javascript 正则表达式匹配组

javascript - 获取具有特定子字符串的类名的正则表达式

java - DatagramSocket.receive() 和 SocketException

javascript - 仅替换部分匹配项

python - 正则表达式匹配?

java - 正则表达式模式和匹配器问题