检查字符串格式的java正则表达式? 1 周,5 日 Questions & Answers 65 我需要一个正则表达式来匹配如下格式的字符串: 2014-08-06T21:02:16Z,-33.7939310,151.0553090,-0.8 我是否必须为每个数字使用//d?负数呢
# 1 楼答案 这个怎么样: /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z,-?\d{2,3}\.\d{7},-?\d{2,3}\.\d{7},-?\d{1,2}\.\d/ 例如,\ d{4}表示“4位”,而-*表示“0或更多破折号”,因此应匹配正数或负数 通过使用以下可能的字符组,您也可以更加通用: /[0-9-]{10}[0-9TZ:]{10},[0-9-.,]{26,28}/ 即,任何数字或破折号表示10个字符,而数字或字母T或Z或冒号表示10个以上字符,然后是逗号,数字、破折号、句点或逗号表示26-28个字符。这不像上面的正则表达式那样严格,但根据您的要求可能足够了 以上内容适用于javascript和perl,下面是R版本(双转义): s <- "2014-08-06T21:02:16Z,-33.7939310,151.0553090,-0.8" grep("\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z,-?\\d{2,3}\\.\\d{7},-?\\d{2,3}\\.\\d{7},-?\\d{1,2}\\.\\d", s)
# 2 楼答案 ^\d{4}-\d{1,2}-\d{1,2}T\d{2}:\d{2}:\d{2}Z,-?\d*\.?\d*,\d*\.\d*,-?\d*\.\d*$ 试试这个。见演示。设置标志m http://regex101.com/r/uH3tP3/7
# 1 楼答案
这个怎么样:
例如,\ d{4}表示“4位”,而-*表示“0或更多破折号”,因此应匹配正数或负数
通过使用以下可能的字符组,您也可以更加通用:
即,任何数字或破折号表示10个字符,而数字或字母T或Z或冒号表示10个以上字符,然后是逗号,数字、破折号、句点或逗号表示26-28个字符。这不像上面的正则表达式那样严格,但根据您的要求可能足够了
以上内容适用于javascript和perl,下面是R版本(双转义):
# 2 楼答案
试试这个。见演示。设置标志
m
http://regex101.com/r/uH3tP3/7