正则expression式来validationExcel单元格
我正在处理一个PHP应用程序,用户必须插入Excel的单元格ID(例如A1
或AB32
),该值存储在数据库中供以后使用,并且我试图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])$
基本上说:
-
列部分:
AZ
或AZ
与AZ
,或AX
与AF
与AD
-
行部分:
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 +)$:以一个数字或更多结尾