我正在尝试验证输入数据,该数据应采用以下格式
[(aa,11),(bb,22),(cc,33)]
我正在寻找以下条件需要满足
[(aa,11),(bb,22),(cc,33)] -->Valid
[(aa,11)] -->Valid
[(aa,11)(bb,22)] -->Invalid (comma missed inbetween the tuples)
[(aa,11),(bb,22),(cc,33),(dd,44),] -->Invalid (comma at the last tuple)
[,(aa,11)] ->Invalid (comma before first tuple)
我写了正则表达式,但它不能在所有条件下工作bcoz我做了' 作为可选
^(\[(\([a-z]+,[0-9]+\),?)+\])$
有人可以纠正我的正则表达式吗?
答案 0 :(得分:3)
您可以为每个新,(aa,11)
创建一个新的匹配组,以便您的新正则表达式如下所示:
^(\[(\([a-z]+,[0-9]+\))(,\([a-z]+,[0-9]+\))*\])
在这里,您可以创建一个可以重复0次或更多次的新组。 看看这个通过测试的正则表达式:http://www.regexr.com/39tlg
答案 1 :(得分:1)