我想学习正则表达式我的项目我正在使用它进行输入验证,因为我被告知使用正则表达式是做输入验证的最佳方法之一。正则表达式匹配多个坐标分隔空格
所以,我试图确保一个字符串包含未知数的坐标,它们之间用空格分隔。输入内容的例子是2,2 23.45,6 45,21.65 2,2
我不确定它是否重要,但最后的坐标总是与第一个匹配。不能有任何符号或无关的空格或逗号。只有十进制数字以逗号分隔,后跟空格或结尾字符。
我意识到这可能是一个相当复杂的表达式,而且我非常喜欢跳入正则表达式,所以对此的任何帮助都会非常感谢。如果这改变了什么,我正在用C++进行编程。谢谢。
编辑:
我已经忘记了负数和换行符的可能性。我也接受输入中的负数和换行符。 所以输入-2.3,2 34,-2 -2.3,2\n
是可以接受的。感谢大家到目前为止的帮助。
看起来你可以有空格和逗号分隔数字。 –
@TimBiegeleisen它们是技术上有序的对。所以我需要2个用逗号分隔的数字。然后如果有多于一对的有序对,则这些对由一个空格分开。 – rph020798
负数,指数符号怎么样?你几乎必须自己写表达式来描述语法。是“+ 4.3, - ”。一个有效的组件? –