• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Przeszukiwanie pliku tekstowego za pomoca patternu|java

VPS Starter Arubacloud
0 głosów
335 wizyt
pytanie zadane 18 maja 2018 w Java przez fallensmoke Nowicjusz (210 p.)
Czesc, mam problem z przeszukiwaniem pliku tekstowego w ktorym znajduja sie liczby oraz litery. Zalezy mi na wyszukaniu takich linii w ktorych znajduja się tylko 3 liczby oddzielone spacja . Starając sie zrozumieć problem użyłem patternu  "([0-9]* ){2}[0-9]+\n" lecz w takim wypadku jesli w linii zostanie podana wieksza liczba liczb to poprostu zczyta ostatnie 3. Czy istnieje jakas opcja aby zaznczyc w patternie poczatek linii?

1 odpowiedź

+1 głos
odpowiedź 18 maja 2018 przez RafalS VIP (122,820 p.)
wybrane 18 maja 2018 przez fallensmoke
 
Najlepsza

Owszem: ^ - znak początku linii $ znak końca lini. Wzór na to co chcesz osiągnąć:
 

^\d+ \d+ \d+$

Normalnie znaki te oznaczają początek i koniec całego inputu, ale jak ustawisz flage multiline to będą łapały poczatek i koniec każdej linii.
Sprawdziłem w Javie ta flaga to Pattern.MULTILINE. Gdybyś nie wiedział \d to [0-9]. Dodatkowo gwiazdka oznacza 0 lub więcej. Czyli Twój pattern złapie pusty string, jedną liczbe i dwie liczby. W tym przypadku użyj + czyli 1 lub wiecej.

Dodatkowo polecam gorąco stronke https://regex101.com/. Można sobie klepać regexy i widzieć od razu jak działają. Dodatkowo można najechać na każdy znak wzoru, żeby zobaczyć co oznacza. O ile znasz choć troszke angielski to polecam.

Edit: Testowałem to dla pewności. Jakbyś chciał to tu masz cały kod:
 

        Pattern pattern = Pattern.compile("^\\d+ \\d+ \\d+$", Pattern.MULTILINE);
        String intput = "123 43 2\n4 234234 124344 44\n1 2 3\n12331223\n23 3";
        Matcher matcher = pattern.matcher(intput);
        while(matcher.find()){
            System.out.println(matcher.group());
        }

 

Podobne pytania

0 głosów
3 odpowiedzi 471 wizyt
pytanie zadane 4 listopada 2016 w Java przez anhydryt Początkujący (290 p.)
0 głosów
1 odpowiedź 748 wizyt
0 głosów
1 odpowiedź 878 wizyt

93,012 zapytań

141,977 odpowiedzi

321,266 komentarzy

62,354 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...