1

我正在尝试编写正则表达式来验证 SQL IN 子句,其中括号内的值是数字(id),例如(23,109,1)但不是(23,109,)或(23,)或()。

我现在的表达是:

^\([0-9,]+\)$

但它也允许错误的值。

我不太擅长正则表达式,也尝试过类似的东西:

^\(([0-9]+,)+\)$

但我想这不是重点。
有任何想法吗?

4

1 回答 1

3

您的第二次尝试即将完成;问题是,^\(([0-9]+,)+\)$需要尾随逗号。让我们试试^\([0-9]+(,[0-9]+)*\)$

不知道您的正则表达式库/方言;也许还有很多需要改进的地方(\d 表示数字;允许元素之间有空格等)。

于 2013-01-10T18:54:51.970 回答