我需要一个关注秩序和其他一般要求的正则表达式

use*_*824 0 python regex

我一直在网上搜索很多,找不到关心订单和其他一般要求的正则表达式,我的具体需求如下:

  1. 从一封信开始;
  2. 至少6个字符;
  3. 至少1位数.

我在python中工作,我想我知道如何编写2和3的正则表达式,但没有找到一种方法来组合1,因为它涉及订单.同样,我知道如何编写1但没有找到一种方法将它与一般要求正则表达式结合起来(意思是括号正则表达式...不知道名字)

对于2和3:

^(?=.{6,})(?=.*[\d]).*$
Run Code Online (Sandbox Code Playgroud)

1:

^[a-zA-Z].*
Run Code Online (Sandbox Code Playgroud)

有什么建议?

geo*_*org 7

构建匹配A , B C 的"连接"表达式的一般技术是从一开始,^然后将条件列为前瞻组:

^(?=A)(?=B)(?=C)
Run Code Online (Sandbox Code Playgroud)

在你的情况下:

^(?=[A-Za-z])(?=.{6,})(?=\D*\d) 
Run Code Online (Sandbox Code Playgroud)

至于为什么这个expr不起作用的问题$:

^(?=[A-Za-z])(?=.{6,})(?=\D*\d)$ 
Run Code Online (Sandbox Code Playgroud)

这是因为它不消耗任何字符,除了虚拟的"输入开始".当你附加一个$它时,它变得相当于^$,它只能匹配一个空字符串.