我正在开发一个 php 应用程序,用户必须插入 Excel 的单元格 ID(例如A1
or AB32
),一个存储在数据库中供以后使用的值,我正在尝试使用正则表达式验证单元格 ID 格式,但它似乎不起作用,这就是我到目前为止所得到的。
^[a-zA-Z]\d$
有一个很棒的answer在 @BartKiers 的这个问题中,他构建了一个函数来构造需要匹配 x 到 y 范围的这些类型的正则表达式。他的逻辑很好地转移到文本范围,并且是以 PCRE 方言进行测试在 regex101.com。
正则表达式:
^(?:[A-Z]|[A-Z][A-Z]|[A-X][A-F][A-D])(?:[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])$
这基本上是说:
栏目部分:A-Z
, or A-Z
with A-Z
, or A-X
with A-F
with A-D
行部分:1-9
, or 1-9
with 0-9
, or 1-9
with 1-9
with 0-9
等等一直到最大值104857
with 0-6
它匹配以下内容:
A1
AA11
AAA111
ZZ12
YY1048575
XFD1048576
它不会匹配以下内容:
A0
AA01
AAZ1111111
XFD1048577
XFE1048576
ZZZ333
ZZZ9999999
示意图如下:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)