我有这样的字符串:
tf.nn.softmax_cross_entropy_with_logits_v2()
我必须检查字符串格式是否包含由连字符分隔的两个数字。
我该怎么办?
谢谢
答案 0 :(得分:1)
您可以使用正则表达式:
^\d+(\.\d+)?-\d+(\.\d+)?$
可以找到说明here。
使用Java,您可以创建一种方法来检查所需模式是否存在:
public static boolean returnMatch(String input) {
Pattern p1 = Pattern.compile("^\\d+(\\.\\d+)?-\\d+(\\.\\d+)?$");
Matcher m1 = p1.matcher(input);
return m1.find() ? true : false;
}
现在使用:
System.out.println(returnMatch("some foo text")); // false
System.out.println(returnMatch("1.00-2.00")); // true
System.out.println(returnMatch("2.12-2.12")); // true
System.out.println(returnMatch("10-20")); // true
答案 1 :(得分:1)
浮点数的正则表达式为:^[1-9]\d*\.\d+$
(如果小数可选):^[1-9]\d*(?:\.\d+)?$
在连字符之间重复两次:
`^[1-9]\d*(?:\.\d+)?-[1-9]\d*(?:\.\d+)?$`
答案 2 :(得分:1)