{(1,2),(3,4)};
如何检查像上面这样的输入是两对的集合(在'{'和'}'之间)('('和')'之间的整数值。必须使用如上所述的三个逗号。我的猜测对正确符号的字符数组进行某种搜索(不知道是哪种)可能是最好的,但有没有更快的方法?
请记住,整数值可能比 1、2、3 等大得多,并且是负数。
{(1,2),(3,4)};
如何检查像上面这样的输入是两对的集合(在'{'和'}'之间)('('和')'之间的整数值。必须使用如上所述的三个逗号。我的猜测对正确符号的字符数组进行某种搜索(不知道是哪种)可能是最好的,但有没有更快的方法?
请记住,整数值可能比 1、2、3 等大得多,并且是负数。
如果这不是性能关键,您可以使用快速而肮脏的正则表达式。
-?\d+
匹配任意长度的数字序列(即 1 个或多个数字),可选地以负号开头{ }
和圆括号( )
是正则表达式中的特殊字符,因此它们必须被转义 (\{
等)\s*
在任何允许的地方包含可选的空格(零个或多个空格字符)。最终的正则表达式应如下所示:
\{\(-?\d+,-?\d+\),\(-?\d+,-?\d+\)\}
如果您还需要捕获任何数字值,则可以添加捕获括号。