正则expression式来validationExcel单元格

我正在处理一个PHP应用程序,用户必须插入Excel的单元格ID(例如A1AB32 ),该值存储在数据库中供以后使用,并且我试图validation单元格ID格式正则expression式,但它似乎并没有工作,这是我到目前为止。

 ^[a-zA-Z]\d$ 

@BartKiers在这个问题上有一个很好的答案 ,他构build了一个函数来构造这些types的正则expression式,这些正则expression式需要匹配x到y的范围。 他的逻辑很好地转换为文本范围,并在regex101.com上用PCRE方言进行testing。

正则expression式:

^(?:[AZ]|[AZ][AZ]|[AX][AF][AD])(?:[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9][0-9]|10[0-3][0-9][0-9][0-9][0-9]|104[0-7][0-9][0-9][0-9]|1048[0-4][0-9][0-9]|10485[0-6][0-9]|104857[0-6])$

基本上说:

  • 列部分: AZAZAZ ,或AXAFAD

  • 行部分: 1-9 ,或104857 ,或104857等,最大104857

它匹配以下内容:

 A1 AA11 AAA111 ZZ12 YY1048575 XFD1048576 

它不符合以下内容:

 A0 AA01 AAZ1111111 XFD1048577 XFE1048576 ZZZ333 ZZZ9999999 

这是图表:

在这里输入图像说明

试试这个^[a-zA-Z]{1,4}(\d+)$

  • ^([a-zA-Z] +):从1到4个字母开始
  • (\ d +)$:以一个数字或更多结尾