正则表达式是:
^[a-zA-Z](?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[$\-_. +!*'()])[a-zA-Z0-9$\-_. +!*'()]*$
要求是:
以a-zA-Z开头 必须有:一个小写,一个大写,一个来自给定的spcl chars(其他任何东西都是无效的),最后是10到40个字符长。
答案 0 :(得分:1)
您可以将此正则表达式与MULTILINE
m
标志一起使用:
/^[a-zA-Z](?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[-$_. +!*'()])[\w$. +!*'()-]{9,39}$/mg
https://journalxtra.com/linux/howto-pass-data-variables-to-curl-to-autofill-web-forms/
使用{9,39}
代替{10,40}
,因为您已经在开始时匹配了一个字符[a-zA-Z]
。
答案 1 :(得分:0)
这可能会帮到你
^.(?=.{10,40})(?=.\d)(?=.[a-zA-Z]).$