Java Chess Game Regex

问题描述 投票:0回答:2

我目前正在用Java开发国际象棋游戏。我想创建一种方法来检查字符串输入的格式。我的游戏中典型的下棋动作是:

e2 e4 
a1 a3 

通常,其:

[letter][number][space][letter][number]

如何使用正则表达式检查此格式?我对正则表达式还很陌生,希望对您有所帮助

到目前为止,我有:

[a-h]+[1-8]+\s+[a-h]+[1-8]
java regex chess
2个回答
0
投票

(\w{1}\d \w{1}\d)

https://regexr.com/是您应该检查的重要资源。


0
投票

执行以下操作:

public class Main {
    public static void main(String[] args) {
        // Tests
        String[] testStrs = { "e2 e4", "a1 a3", "1a e4", "a1 4e", "12 34", "ab cd", "e2e4", "e1   e4" };
        for (String s : testStrs) {
            if (s.matches("[A-Za-z]{1}[0-9]{1} [A-Za-z]{1}[0-9]{1}")) {
                System.out.println(s + "<-passed");
            } else {
                System.out.println(s + "<-failed");
            }
        }
    }
}

输出:

e2 e4<-passed
a1 a3<-passed
1a e4<-failed
a1 4e<-failed
12 34<-failed
ab cd<-failed
e2e4<-failed
e1   e4<-failed
© www.soinside.com 2019 - 2024. All rights reserved.