定义以xml格式接收纬度和经度的类型

时间:2016-03-30 06:26:49

标签: regex xml

我有一个命令行界面,我可以从中配置特定设备的纬度和经度。

我需要帮助接受这些值作为名为LATITUDE和LONGITUDE的新类型。 这样我就可以省略源代码中的验证部分。 {自命令行界面本身检查值,如果有类型为LATITUDE和LONGITUDE}

纬度的有效范围是-90到+90

经度的有效范围是-180到+180

修改

我试过这些正则表达式

Latitude RegEx:

@"^(\+|-)?((\d((\.)|\.\d{1,6})?)|(0*?[0-8]\d((\.)|\.\d{1,6})?)|(0*?90((\.)|\.0{1,6})?))$"

经度RegEx:

@"^(\+|-)?((\d((\.)|\.\d{1,6})?)|(0*?\d\d((\.)|\.\d{1,6})?)|(0*?1[0-7]\d((\.)|\.\d{1,6})?)|(0*?180((\.)|\.0{1,6})?))$"

纬度和纬度的正常正则表达式经度:

Latitude RegEx:

^(+|-)?((\d((.)|.\d{1,6})?)|(0*?[0-8]\d((.)|.\d{1,6})?)|(0*?90((.)|.0{1,6})?))$

经度RegEx:

^(+|-)?((\d((.)|.\d{1,6})?)|(0*?\d\d((.)|.\d{1,6})?)|(0*?1[0-7]\d((.)|.\d{1,6})?)|(0*?180((.)|.0{1,6})?))$

这些正则表达式没有正确获取值。

例如:我想给24.45但cli给出非法参数错误

1 个答案:

答案 0 :(得分:1)

考虑到小数点后的数字可以来自0-99,您可以试试这个

<强> Latitude

^(-|\+)?(90|[0-8]?[0-9](\.[0-9]?[0-9])?)$

^(-|\+)?(90|[0-8]?\d(\.\d?\d)?)$

<强> Longitude

^(-|\+)?(180|([0-9]?|1[0-7])[0-9](\.[0-9]?[0-9])?)$

^(-|\+)?(180|(\d?|1[0-7])\d(\.\d?\d)?)$