我需要建立一个正则表达式,具有以下内容:适用规则:
Regex仍然让我感到困惑,所以我很难得到正确的输出。我想在我正在制作的应用程序中与swift和swiftui一起使用它(?=(.*[a-zA-Z]){3,}([0-9]){0,}){14,14}$我试过了。但我知道这不是办法
fdx2calv1#
对于长度要求,我将使用正前瞻:
^(?=.{14}$)(?:[A-Za-z0-9]*[A-Za-z]){3}[A-Za-z0-9]*$
此模式表示匹配:
^
(?=.{14}$)
(?:
[A-Za-z0-9]*[A-Za-z]
)
[A-Za-z0-9]*
$
vfh0ocws2#
你需要使用
^(?=(?:[0-9]*[a-zA-Z]){3})[a-zA-Z0-9]{14}$
(?=(?:[0-9]*[a-zA-Z]){3})
[a-zA-Z0-9]{14}
请参见regex demo。
2条答案
按热度按时间fdx2calv1#
对于长度要求,我将使用正前瞻:
此模式表示匹配:
^
从输入开始(?=.{14}$)
Assert确切长度为14(?:
[A-Za-z0-9]*[A-Za-z]
零个或多个字母数字,后跟一个字母)
[A-Za-z0-9]*
任何字母数字零次或多次$
输入端vfh0ocws2#
你需要使用
^
-字符串开始(?=(?:[0-9]*[a-zA-Z]){3})
-要求在任何零或多个数字序列后至少重复三次字母[a-zA-Z0-9]{14}
-十四个字母/数字$
-字符串结束。请参见regex demo。