gpt4 book ai didi

正则表达式 - 国际密码匹配表达式

转载 作者:行者123 更新时间:2023-12-04 03:07:20 25 4
gpt4 key购买 nike

我正在尝试编写一个匹配任何语言密码的模式。

匹配器要求是:-

  • 1 个上字符(最小值)
  • 1 个较低的字符(最小值)
  • 1 位数(最小值)
  • 1 个符号(最小)
  • 8个字符长度或以上

正如我确定您可以从我下面的模式中看到的那样,我迷路了!!

/^(?=.*[\p{Ll}])(?=.*[\p{Lu}])(?=.*\p{Nd})(?=.* [@$!%*?&])[\p{Lu}\p{Ll}\p{Nd}$@$!%*?&]{8,}$/u

测试字符串

  1. 关键字157aA$89
  2. P455word123!

最佳答案

\p{Lu} 匹配大写 Unicode 字母,\p{Ll} 匹配小写 Unicode 字母。中文字母不区分大小写,可以用\p{L}(连同所有其他字母)匹配。

在消费部分使用\p{L}:

/^(?=.*\p{Ll})(?=.*\p{Lu})(?=.*\p{Nd})(?=.*[@$!%*?&])[\p{L}\p{Nd}@$!%*?&]{8,}$/u
^^^^^

参见 this regex demo .

请注意,密码仍然必须包含大写和小写字母。如果你只想要求一个中文字母或一个大写字母与小写字母,使用

/^(?:(?=.*\p{Han})|(?=.*\p{Ll})(?=.*\p{Lu}))(?=.*\p{Nd})(?=.*[@$!%*?&])[\p{L}\p{Nd}$@!%*?&]{8,}$/u
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

在这里,(?:(?=.*\p{Han})|(?=.*\p{Ll})(?=.*\p{Lu}))将需要一个中文字母 (\p{Han}) 或一个大写+小写字母。

关于正则表达式 - 国际密码匹配表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47712328/

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