Regulární výrazy v Javě

Pomocí regulárních výrazů definujeme vzory hledání pro řetězce. Vzor může být jediný znak, přesný řetězec, nebo složitý výraz obsahující speciální znaky.

Regulární výraz Popis
. Jakýkoliv znak
* Výskyt 0 nebo vícekrát
+ Výskyt 1 nebo vícekrát
? Výskyt 0 nebo jedenkrát
^ Začátek řádky (^A – začátek řádku musí začínat na A)
$ Konec řádky (z$ – řádek musí končit na z)
[] Definice možných výskytů ([123] – obsahuje 1, 2 nebo 3)
{} Počet možných výskytů ({5,7} – vyskytuje se alespoň 5x a maximálně 7x)
() Seskupení výrazů
| Nebo (a|b – a nebo b)
?! Negace (a?!b – a pokud není následováno b)
(?i) Regulární výraz není citlivý na malá a velká písmena (pozor na písmena s diakritikou)
\d Jakékoliv číslo
\D Cokoliv kromě čísla
\s Jakýkoliv bílý znak
\S Cokoliv kromě bílých znaků
\w Písmeno, číslice nebo podtržítko
\W Cokoliv kromě písmena, číslice nebo podtržítka

Java String má následující metody, které jako parametr mají regulární výraz:

string.matches("regex")
string.split("regex")
string.replaceFirst("regex", "replacement")
string.replaceAll("regex", "replacement")

Pro pokročilejší práci s regulárními výrazy se používají třídy Pattern a Matcher.

final String text = "Nějaký text";
final String regex = "Regulární výraz";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(text);
matcher.find()

Jak přimět prohlížeč zobrazovat text zprava doleva

Napadlo vás někdy, jak to udělat, aby prohlížeč zobrazoval text zprava doleva? V html na to existuje element <bdo> (Bi-Directional Override). Takto to může vypadat:

Ani nevím jak, ale stal se z mě milionář. A ne ledajaký, dolarový. A nejen to, napsal mi samotný Marmark Zuckerberg z Facebooku. Teď jen musím poslat své osobní údaje a milión (amerických dolarů) bude můj.
Text je z toho příspěvku: Jsem milionář

Ani nevím jak, ale stal se z mě milionář. A ne ledajaký, dolarový. A nejen to, napsal mi samotný Marmark Zuckerberg z Facebooku. Teď jen musím poslat své osobní údaje a milión (amerických dolarů) bude můj.
Text je z toho příspěvku: Jsem milionář

<p>Zprava doleva<br/><bdo dir="rtl">
Ani nevím jak, ale stal se z mě milionář. A ne ledajaký, dolarový. A nejen to, napsal mi samotný Marmark Zuckerberg z Facebooku. Teď jen musím poslat své osobní údaje a milión (amerických dolarů) bude můj.
</bdo></p>

<p>Zleva doprava<br/><bdo dir="ltr">
Ani nevím jak, ale stal se z mě milionář. A ne ledajaký, dolarový. A nejen to, napsal mi samotný Marmark Zuckerberg z Facebooku. Teď jen musím poslat své osobní údaje a milión (amerických dolarů) bude můj.
</bdo></p>

Jak v HTML vytvořit bookmark

Máte dlouhou html stránku a rádi byste v ní vytvořili záložky (bookmark), na které by se šlo prokliknout? V html toho lze dosáhnou použitím atributu id elementu, na který se má uživatel prokliknout a elementu <a>. Zde je ukázka:

<h1 id="nadpis">Hlavní nadpis</h1>
<h2 id="lekce1">Lekce 1</h2>
<p>Lorem ipsum dolor sit amet, consectetuer ...</p>

<h2 id="lekce2">Lekce 2</h2>
<p>Nunc auctor. Mauris suscipit, ligula sit ...</p>

<h2 id="lekce3">Lekce 3</h2>
<p>Maecenas aliquet accumsan leo. Aliquam erat ...</p>


<a href="#lekce1">Lekce 1</a>
<a href="#lekce2">Lekce 2</a>
<a href="#lekce2">Lekce 3</a>
<a href="#nadpis">Nahoru</a>

Změna verze Javy z 8 na 11

Nedávno jsem prováděl změny verze Javy na projektu, který používá Spring Boot. Měnil jsem verzi Javy z verze 8 na verzi 11. Nebylo to až tak strašné, jak jsem čekal (spíše naopak), přesto se ale některé komplikace objevily. V tomto příspěvku budu postupovat od chyby k chybě, tak jak se u mě objevovaly.

Číst dálZměna verze Javy z 8 na 11