我正在尝试使用正则表达式来验证字符串。
RegEx: "Coord=\\(.*\\);?"
问题:我无法找到以下输入和预期输出的注册表
1. Input: Coord=(1,1) -- Expected output: True
2. Input: Coord=(1,1); -- Expected output: True
3. Input: Coord=(1,1): -- Expected output: False
4. Input: Coord=(1,1)abc -- Expected output: False
5. Input: Coord=(1,1);abc -- Expected output: True
任何想法
答案 0 :(得分:2)
您可以在输入结尾处替换";"
以达到目标:
String[] inputs = {
"Coord=(1,1)",// -- Expected output: True
"Coord=(1,1);",// -- Expected output: True
"Coord=(1,1):",// -- Expected output: False
"Coord=(1,1)abc",// -- Expected output: False
"Coord=(1,1);abc"// -- Expected output: True
};
// | this is the important bit
Pattern p = Pattern.compile("Coord=\\(\\d,\\d\\)(;|$)");
for (String input: inputs) {
Matcher m = p.matcher(input);
System.out.printf("%s found? %b%n", input, m.find());
}
<强>输出强>
Coord=(1,1) found? true
Coord=(1,1); found? true
Coord=(1,1): found? false
Coord=(1,1)abc found? false
Coord=(1,1);abc found? true