/ / Pisanie wzorca dla metody skanera - java, regex, java.util.scanner

Pisanie wzorca dla metody skanera - java, regex, java.util.scanner

Jak napisać wzór dla metody skanera, takiej jak:

scan.findInLine(pattern);

To znajdzie dla mnie pierwszą instancję dowolnej liczby (czyli dowolnej liczby 0-10000) w tej linii. Potrzebuję tego, aby wyszukać ten numer, aby utworzyć tablicę o tym rozmiarze.

Nie jestem pewien, czy to wymaga wyrażenia regularnego, ale jeśli tak, proszę, możesz wyjaśnić to po prostu mi, ponieważ jestem bardzo nowy w tym pomyśle.

Bardzo przydatne byłyby przykłady niektórych wzorców i wyjaśnienie tego, czego szukają.

Odpowiedzi:

1 dla odpowiedzi № 1

Wyrażenie regularne (10000|d{1,4}) znajdzie numer, którego szukasz, w zasadzie sprowadza się do 10000 lub 0-9999

scan.findInLine("(10000|\d{1,4})");

2 dla odpowiedzi nr 2

To prosta próbka:

Scanner scan = new Scanner("ab0252c4d67");
String i = scan.findInLine("\d+");
System.out.println(Integer.parseInt(i));

co daje ci pierwszą liczbę w tej linii. d wyszukuje liczby, a + wskazuje 1 lub więcej wystąpień liczb.