該檢查需要確保文件中的所有行都從一個牆開始,並且最多隻有一個入口,最多隻有一個出口,並以牆結束。我分解了條件,以便測試它們。它失敗的CS = 「WWWW」, 「WXW」, 「WWWWWWWWRWWWWWW」Java正則表達式檢查迷宮中的有效字符
/**
* Check to ensure all lines are only composed of walls,
* entrance, exit, and space
*/
protected boolean invalidMazeCharacters(CharSequence cs) {
p = Pattern.compile("^W+(R??W*|X??|W*|\\s*W*)W+$");
m = p.matcher(cs);
if (!m.matches()) {
return true;
}
return false;
}
**什麼是你檢查?** – Ryan 2012-03-10 02:28:08
我正在檢查每行或字符序列以'W'開始,以'W'結尾並且在牆之間至多有一個'R'或最多一個'X'。 – user1275127 2012-03-10 02:35:04