使用正则表达式进行字母数字处理

时间:2018-02-15 07:00:00

标签: regex pattern-matching

我正在尝试长度为7的Alpha数字的正则表达式(位置1,3,4为字符,位置为2,5,6,7为数字)。

[a-zA-Z]|[0-9]|[a-zA-Z]|[a-zA-Z]|[0-9]|[0-9]|[0-9]

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

序列“字符,数字,字符,字符,数字,数字,数字”用正则表达式表示为

[a-zA-Z][0-9][a-zA-Z]{2}[0-9]{3}

答案 1 :(得分:0)

如果你在PCRE工作(比方说,PHP):

^([a-zA-Z])([0-9])(?1){2}(?2){3}$

故障:

  • ^ - 从字符串的开头
  • ([a-zA-Z]) - 匹配并捕获给定范围内的单个字符:a-z,A-Z
  • ([0-9]) - 匹配并捕获给定范围内的单个字符:0-9
  • (?1){2} - 重复第一组中的正则表达式两次(递归子模式)
  • (?2){3} - 重复第二组中的正则表达式3次(递归子模式)
  • $ - 字符串的结尾

如果您想在句子中间匹配,请与^交换$\b - 这将与字边界匹配

请参阅demo

如果您不使用PCRE:

^[a-zA-Z][0-9][a-zA-Z]{2}[0-9]{3}$

它做同样的事情,但有一些复制粘贴参与