Ruby/Wyrażenia regularne: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Szymon wro (dyskusja | edycje)
Nie podano opisu zmian
Szymon wro (dyskusja | edycje)
Linia 41:
</tr><tr>
<td><tt>()</tt></td><td>grupowanie</td>
</tr><tr>
<td><tt>^</tt></td><td>początek wiersza</td>
</tr><tr>
<td><tt>$</tt></td><td>koniec wiersza</td>
</tr>
</table>
 
Wspólny termin określający wzory, które używają tych dziwnych symboli, to ''[[w:wyrażenia regularne|wyrażenia regularne]]''. W Rubim tak samo jak w Perlu bierze się je raczej w ukośniki (<tt>/</tt>) niż w cudzysłowy. Jeżeli nigdy wcześniej nie pracowałeś z wyrażeniami regularnymi, prawdopodobnie nie wyglądają one zbyt regularnie, ale naprawdę warto poświęcić trochę czasu by się z nimi zaznajomić. Wyrażenia regularne są skuteczne i ekspresywne. Oszczędzi ci to bólów głowy (i wielu linii kodu) niezależnie od tego, czy potrzebujesz dopasowywania wzorców, wyszukiwania czy też innego manipulowania łańcuchami.
 
Dla przykładu, przypuśćmy, że chcemy sprawdzić czy łańcuch pasuje do tego opisu: "Zaczyna się małą literą ''f'', po której zaraz następuje jedna duża litera i opcjonalnie jakieś inne znaki, aż do wystąpienia innych innych małych liter." Jeżeli jesteś doświadczonym programistą C, prawdopodobnie już napisałeś około tuzina linii kodu w głowie, prawda? Przyznaj, prawie nie możesz sobie poradzić. Ale w Rubim potrzebujesz jedynie by łańcuch został sprawdzony pod kątem występowania wyrażenia regularnego <tt>/^f[A-Z][^a-z]*$/</tt>.