Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Java Pattern tečky, čárky, etc.

public Pattern ipPattern = Pattern.compile("([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])");

Dobrý den, tímto dokážu zabránit IP addresám.
Ale problém je v tom když dotyčný napíše čárky že už to nefunguje.
Co musim dát aby to kontrolovalo znaky jako , . ! - a mnoho ostatních ?

Předmět Autor Datum
Skús trochu presnejšie opísať svoj problém. Ten regulárny výraz rozpozná IP adresy. Chceš rozpoznať…
los 25.03.2013 20:33
los
Hlídám přes to chat v Aplikaci. Když někdo napíše IP adresu tak to blokne. Ale někdo to dělá mazaně…
siOnzeeSlav 25.03.2013 20:45
siOnzeeSlav
Aha. Tak to potom stačí nahradiť "\\." za ".", t.j. namiesto bodky budeš kontrolovať ľubovoľný znak.…
los 25.03.2013 20:50
los
Hehe, díky :-D Myslel jsi to takto ? public Pattern ipPattern = Pattern.compile("([01]?\\d\\d?|2[0-…
siOnzeeSlav 25.03.2013 20:52
siOnzeeSlav
Áno, tak som to myslel. poslední
los 25.03.2013 20:53
los

Skús trochu presnejšie opísať svoj problém. Ten regulárny výraz rozpozná IP adresy.

Chceš rozpoznať, či používateľ zadal aspoň jeden zo znakov čiarka, bodka, výkričník a pod.? Môžeš použiť napr. StringUtils.indexOfAny z commons-lang3.

Aha. Tak to potom stačí nahradiť "\\." za ".", t.j. namiesto bodky budeš kontrolovať ľubovoľný znak. Prípadne keď chceš kontrolovať len vybrané znaky, tak nahraď to "\\." za "[.,!\\-]".

Ale potom ti tam začnú vkladať medzery, alebo písať, že pripoj sa na deväťdesiatdva, dvestoštyridsať, dvestoštyridsaťštyri, tridsaťdeväť. :-D

Zpět do poradny Odpovědět na původní otázku Nahoru