gpt4 book ai didi

正则表达式 32 字母数字和特殊字符

转载 作者:行者123 更新时间:2023-12-01 10:06:33 24 4
gpt4 key购买 nike

我不是正则表达式方面的专家,我被卡住了,因为在线正则表达式验证器与我的字符串不匹配。

我需要一个正则表达式来检查包含一个特殊字符的 32 个字符的字母数字字符串。

我已经试过了,但它不起作用:

^((?=.*[\W]{1})[a_zA_Z0_9].{32,32})$

怎么了?

最佳答案

请注意,字符类中的范围是用 - 定义的, 不是 _ .此外,没有必要使用 {1} ,每个原子默认匹配一次(正则表达式中的 c 只匹配 1 个 c )。如果您需要匹配精确数量的字符,请使用 {m}限制量词形式,所以 {32} = {32,32} .此外,您量化了 . , .{32,32} ,这意味着您允许输入字符串中除换行符以外的任何 32 个字符,但它应以字母数字字符 ( [a_zA_Z0_9] ) 开头,并且必须至少包含 1 个非单词字符 ( (?=.*[\W]{1}) )。

你需要使用

^(?=.{32}$)[a-zA-Z0-9]*\W[a-zA-Z0-9]*$

参见 regex demo .

详情

  • ^ - 字符串开始
  • (?=.{32}$) - 需要 32 个字符
  • [a-zA-Z0-9]* - 0+ 个字母数字字符
  • \W - 非单词字符(或 [\W_] 也支持 _ )
  • [a-zA-Z0-9]* - 0+ 个字母数字字符
  • $ - 字符串结束

关于正则表达式 32 字母数字和特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47789315/

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