Ruby/Wyrażenia regularne: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
Szymon wro (dyskusja | edycje) |
Szymon wro (dyskusja | edycje) Nie podano opisu zmian |
||
Linia 50:
A co z "zawiera liczbę heksadecymalną w ostrych nawiasach"? Żaden problem.
<source lang="ruby">
# (zły rodzaj nawiasów) # fałszywa liczba hex </source>
Chociaż wyrażenia regularne mogą się wydawać na początku nieco zagadkowe, z pewnością szybko osiągniesz satysfakcję z tak ekonomicznej możliwości wyrażania się.
Oto mały program który pomoże ci eksperymentować z wyrażeniami regularnymi. Zapisz go jako ''regx.rb'' i uruchom przez wpisanie
<source lang="ruby">
# Wymaga terminala ANSI!
Linia 85 ⟶ 86:
puts tekst.gsub(wyr,"#{st}\\&#{en}")
end
</
Program wymaga dwukrotnego wprowadzenia danych. Raz oczekuje na łańcuch tekstowy, a raz na wyrażenie regularne. Łańcuch sprawdzany jest pod kątem występowania wyrażenia regularnego, następnie wypisywany z podświetleniem wszystkich pasujących fragmentów. Nie analizuj teraz szczegółów, analiza tego kodu wkrótce się pojawi.
Linia 131 ⟶ 132:
"<tt>=~</tt>" jest operatorem dopasowania w odniesieniu do wyrażeń regularnych; zwraca pozycję w łańcuchu, gdzie może być znaleziony pasujący podłańcuch lub <tt>nil</tt> jeżeli takowy nie występuje.
<source lang="ruby">
</source>
▲ruby> "aaaaaa" =~ /d/
<noinclude>
{{ProstaNawigacja|spis=Ruby|poprzart=Ruby/Łańcuchy znakowe|poprz=Łańcuchy znakowe|nastart=Ruby/Tablice|nast=Tablice}}
|