

Java, prosím o opravení regexu.
Dobrý den, již dříve jsem zde dával téma s regexem, dneska se na vás obracím znovu, jelikož regex nejsem schopný pochopit, budu potřebovat vaší pomoc :)
Toto jsou následující patterny které potřebuji opravit.
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])");
public Pattern webpattern = Pattern.compile("(http://)|(https://)?(www)?\\S{2,}((\\.com)|(\\.net)|(\\.org)|(\\.co)|(\\.uk)|(\\.tk)|(\\.info)|(\\.es)|(\\.de)|(\\.arpa)|(\\.edu)|(\\.firm)|(\\.int)|(\\.mil)|(\\.mobi)|(\\.nato)|(\\.to)|(\\.fr)|(\\.ms)|(\\.vu)|(\\.eu)|(\\.nl)|(\\.us)|(\\.dk))|(\\.cz)|(\\.sk)|(\\.bis)");
Problém je v tom že to bere i například takovéhle zprávy,
xxxxx - pls nemozes od 18:00-20:00
Půjde tento pattern nějak vylepšit ?
Kdyz chces neco opravit, uved taky priklad, co by to melo vybirat. Ten druhy vybira URL adresy, takze urcite nevybere ten tvuj radek.
Jsou tu 2 patterny, jedná se spíše o ipPattern.
Má hlídat IP adresy př.:
95.90.299.120:26457
a né text ve stylu '18:00-20:00'
Pokud to ma byt IP adresa, pak by to melo jit i jednoduseji:
(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d{1,4}|\d{1, 3}\.\d{1,3}\.\d{1,3}\.\d{1,3})
vyraz obsahuje 2 pripady: IP s portem + IP bez portu
Dalo by se to napsat i se zpetnymi odkazy, ale takto je to citelnejsi
Děkuji, toto můj případ vyřešilo. :) Zvláštní je že můj táta se jmenuje taky 'Jan Fiala', no nic přeji hezký zbytek dne :)
No, zkoušel jsem to pouze přes online matcher.
v Java dostávám error:
Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ ) onChat.java
Upravil jsem váš regex na :
Už to bude skoro to co potřebuji.
Tak jsem zjistil že \ se bere jako Escape character, tudiž jsem to nahradil za \\ a všechno funguje jak má.