如何使用AND运算符连接两个表达式?

时间:2016-11-22 06:50:29

标签: regex

第一个表达 - 必须至少有1个字母:

^[a-zA-Z]{1,}$

第二个表达式 - 列表中只有字符:a-zA-Z0-9.&@-+_!$%(space),最小值1和最大值11:

^[a-zA-Z0-9.&@\-+_!$% ]{1,11}$

我想使用AND运算符连接这两个表达式。 但是下面的代码不起作用:

^(?=[a-zA-Z]{1,})(?=[a-zA-Z0-9.&@\-+_!$% ]{1,11})$ 

1 个答案:

答案 0 :(得分:1)

您可以尝试:

^(?=.*[a-zA-Z]+)[a-zA-Z0-9.&@\-+_!$% ]{1,11}$

Explanation

  1. ^断言行开头的位置
  2. 正向前瞻(?=。* [a-zA-Z] +)
  3. 匹配[a-zA-Z0-9.&@\-+_!$% ]{1,11}
  4. 下方列表中的单个字符
  5. {1,11}量词 - 匹配1到11次(贪婪)
  6. $断言行尾的位置