Как проверить правильность геометрической точки с помощью регулярного выражения Java? - PullRequest
2 голосов
/ 21 марта 2011

Я пытался вот так - Чтобы проверить точку как х, у

"[0-9] {1}, [0-9] {1}"

Это не работает.

UPDATE:

Я, должно быть, делаю что-то не так. Это простой ввод с консоли через Scanner (System.in) - с помощью Scanner # nextLine, который возвращает строку.

private static String REGEX_PATTERN = "[0-9]{1,}[,][0-9]{1,}";
private static Pattern regExPattern = Pattern.compile(REGEX_PATTERN);
private static Matcher regExMatcher;

regExMatcher = regExPattern.matcher(getStringValue());
isValid = regExMatcher.matches();

Я тоже попробовал решение Свриста. Это не помогло.

Ответы [ 3 ]

1 голос
/ 21 марта 2011

Если вы пробовали «4,5», и оно не работает, значит что-то не так.

tjwebb@latitude:~$ rhino
Rhino 1.7 release 2 2010 09 15
js> /[0-9]{1,},[0-9]{1,}/.test("4,5");
true

Для меня "4,5" соответствует, поэтому вы не должны использовать правильное регулярное выражение. Это выглядит правильно для меня. Какой язык вы используете?

-tjw

1 голос
/ 21 марта 2011

Работает:

public class Test {

    private static String REGEX_PATTERN = "[0-9]{1,}[,][0-9]{1,}";
    private static Pattern regExPattern = Pattern.compile(REGEX_PATTERN);
    private static Matcher regExMatcher;

    public static void main(String[] args) {
        test("1,3");  // true
        test("123");  // false
        test("1-3");  // false
        test("123,456");  // true
        test("123, 56");  // false
        test(" 23,456");  // false
        test("123,456\n");  // false
    }

    private static void test(String string) {
        regExMatcher = regExPattern.matcher(string);
        boolean isValid = regExMatcher.matches();
        System.out.printf("\"%s\" - %s%n", string, isValid);
    }
}

возможно getStringValue() возвращает некоторые дополнительные символы, такие как пробелы или переводы строк.
Чтобы игнорировать пробелы, попробуйте

REGEX_PATTERN = "\\s*\\d+\\s*,\\s*\\d+\\s*";
1 голос
/ 21 марта 2011

Я думаю, что нашел то, что вы ищете: http://www.dreamincode.net/forums/topic/132735-coordinates-regex/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...