Php 验证Excel单元格的正则表达式
我正在开发一个php应用程序,其中用户必须插入Excel的单元格id(例如Php 验证Excel单元格的正则表达式,php,regex,excel,expression,cell,Php,Regex,Excel,Expression,Cell,我正在开发一个php应用程序,其中用户必须插入Excel的单元格id(例如A1或AB32),该值存储在数据库中供以后使用,我试图使用正则表达式验证单元格id格式,但它似乎不起作用,这就是我目前得到的结果 ^[a-zA-Z]\d$ 试试这个^[a-zA-Z]{1,4}(\d+)$ ^([a-zA-Z]+):从1到4个字母开始 (\d+)$:以一个或多个数字结尾 在@BartKiers提出的这个问题中,他构建了一个函数来构造这些类型的正则表达式,这些正则表达式需要匹配x到y的范围。他的逻辑可以很
A1
或AB32
),该值存储在数据库中供以后使用,我试图使用正则表达式验证单元格id格式,但它似乎不起作用,这就是我目前得到的结果
^[a-zA-Z]\d$
试试这个
^[a-zA-Z]{1,4}(\d+)$
- ^([a-zA-Z]+):从1到4个字母开始
- (\d+)$:以一个或多个数字结尾
- 列部分:
,或A-Z
带A-Z
,或A-Z
带A-X
带A-F
A-D
- 行部分:
,或1-9
带1-9
,或0-9
带1-9
等,一直到0-9
带104857
0-6
A1
AA11
AAA111
ZZ12
YY1048575
XFD1048576
A0
AA01
AAZ1111111
XFD1048577
XFE1048576
ZZZ333
ZZZ9999999
它将与以下内容不匹配:
A1
AA11
AAA111
ZZ12
YY1048575
XFD1048576
A0
AA01
AAZ1111111
XFD1048577
XFE1048576
ZZZ333
ZZZ9999999
图如下:
如果可以有倍数,则需要量词<代码>[a-zA-Z]+将允许
AB
,或a
,或aBc
,等等。\d++/code>将允许1
,32
,333
,等等。您可以使用regex101进行测试,并更新使用^[a-zA-Z]+\d++$
,甚至,顺便说一句,我在我的Excel中检查过,我最多有1048576行和XFD
列。使用正则表达式可能没那么容易。@WiktorStribiżew-我有一个问题-请参阅下面的答案。如何验证数字部分小于1048577?如何验证字母部分小于4个字母?我刚刚更新了答案,以检查最多4个字母。但只要我知道正则表达式是用于字符串的,它就不能计算值,而且您的约束也不能导致一个可以“轻松”实现为表达式的特定模式。您可以尝试将最大限制1048577拆分为多个条件(1或无),(0到9或无)。。。但这样的情况下,你不能得到准确的极限。