我想检查用户是否输入了正确的Excel列位置。通常,excel列可以具有以下内容:
但是,如果我想要一系列这样的列:
如何创建一个正则表达式,用于检查字符串是否与正确的列位置匹配。如果冒号":"被发现,它会继续检查其余部分吗?
所以这将是正确的值:
更新1:这是我尝试过的但是失败了。 - /([a-zA-Z] {1,4}:[a-zA-Z] {1,4})/
更新2:这是我预期但可以改进的。 - /([A-Z] {1,2}:?[A-Z] {1,2})/
谢谢!
答案 0 :(得分:1)
我觉得你很亲密。如果你添加一行开头和行尾分隔符,那么让第二个分组可选,你可能得到你需要的东西:
^([a-zA-Z]{1,4}(?::[a-zA-Z]{1,4})?)$
我所做的更改是将^
添加到开头,$
添加到结尾,然后使用(?: )?
围绕第二个群组,这样它就不会将第二个群组拉出来个人比赛,也是可选的。
以下是Rubular链接供参考:jsfiddle