简体   繁体   English

Reg ex验证字符串

[英]Reg ex to validate a string

I am trying to use regular expression to validate a string. 我正在尝试使用正则表达式来验证字符串。

RegEx:  "Coord=\\(.*\\);?"

Issue: I am not able to find reg ex for following inputs and expected output 问题:我找不到以下输入和预期输出的正则表达式

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

Any thoughts 有什么想法吗

You can alternate ";" 您可以替换";" with the end of the input to reach your goal: 输入的结尾可以达到您的目标:

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());
}

Output 产量

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM