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

Z DisWiki
Przejdź do nawigacji Przejdź do wyszukiwania
(d)
 
(Nie pokazano 8 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 9: Linia 9:
 
* '''|''' - albo dla wystąpienia wzorca sprzed i po tym znaku;
 
* '''|''' - albo dla wystąpienia wzorca sprzed i po tym znaku;
 
* '''+''' - poprzedni znak występuje co najmniej raz
 
* '''+''' - poprzedni znak występuje co najmniej raz
* '''[^xyz]''' - zaprzeczenie listy wymienionych znaków xyz;
+
* '''[^xyz]''' - zaprzeczenie listy wymienionych znaków '''xyz''';
* '''[z-Z]''' - wystąpienie znaku od z do Z w porządku leksykograficznym;
+
* '''[z-Z]''' - wystąpienie znaku od '''z''' do '''Z''' w porządku leksykograficznym;
* '''[n-N]''' - wystąpienie cyfry od n do N w porządku leksykograficznym;
+
* '''[n-N]''' - wystąpienie cyfry od '''n''' do '''N''' w porządku leksykograficznym;
* '''(...)''' - definiowanie \n-tego wzorca (n=1..9), do dalszych operacji wywoływanego jako \1, ...\9
+
* '''(...)''' - definiowanie \n-tego wzorca (n=1..9), do dalszych operacji wywoływanego jako '''\1''', ...'''\9'''
* '''\''' - znak pozwalający traktować następujący po nim znak sterujący ^$+.|[{( jako zwykły znak
+
* '''{m,n}''' - wystąpienie poprzedzającego znaku nie mniej niż '''m''' razy i nie więcej niż '''n''' razy;
 +
* '''\''' - znak pozwalający traktować następujący po nim znak sterujący '''^$+.|[{(''' itp jako zwykły znak.
  
'''Przykład:'''  
+
'''Przykład 1.'''  
  
* '''(<td>[a-Z]+</td>)(<td>[0-9]+</td>)''' - wyszukiwanie w HTML sąsiadującyh obok komórek literowych i cyfrowych
+
* '''(<td>[a-Z]+</td>)(<td>[0-9]+</td>)''' - wyszukiwanie w HTML sąsiadujących obok komórek tabeli najpierw literowych - i następujących po nich komórek cyfrowych
 
* '''\2\1''' - w komendzie zamień (''replace'') przestawienie wzorców wyszukanych w poprzedzającym algorytmie szukania
 
* '''\2\1''' - w komendzie zamień (''replace'') przestawienie wzorców wyszukanych w poprzedzającym algorytmie szukania
 +
 +
'''Przykład 2.'''
 +
* '''^\(([0-9]+)\)''' - wyszukanie wzorca - dowolny ciąg cyfr w nawiasach (.), występujacego na początku linii
 +
* '''(\1)''' - powtórzenie tego wzorca otoczonego znakami <nowiki>'''</nowiki> z obydwu stron
 +
 +
'''Przykład 3.'''
 +
* '''dziennikar(z|ka)''' - przedstawienie wzorca alternatywnego dla dwóch słów: ''dziennikarz'' oraz ''dziennikarka''
 +
  
  
 
'''Zobacz także:'''
 
'''Zobacz także:'''
 
* [[GREP]]
 
* [[GREP]]
 +
* [http://regexpal.com tester wyrażeń regularnych]
  
 
[[Kategoria:terminologia IT]]
 
[[Kategoria:terminologia IT]]
 
[[kategoria:techniczna]]
 
[[kategoria:techniczna]]

Aktualna wersja na dzień 01:27, 18 sty 2024

wyrażenia regularne (regular expressions) - pochodząca z systemów Unix konwencja definiowania napisów, obecnie rozpowszechniona w wielu edytorach.

Wybrane zasady tworzenia wyrażeń regularnych

  • . - dowolny jeden znak
  • $ - koniec linii;
  • ^ - początek linii;
  • ? - poprzedni znak wystąpi co najwyżej raz;
  • | - albo dla wystąpienia wzorca sprzed i po tym znaku;
  • + - poprzedni znak występuje co najmniej raz
  • [^xyz] - zaprzeczenie listy wymienionych znaków xyz;
  • [z-Z] - wystąpienie znaku od z do Z w porządku leksykograficznym;
  • [n-N] - wystąpienie cyfry od n do N w porządku leksykograficznym;
  • (...) - definiowanie \n-tego wzorca (n=1..9), do dalszych operacji wywoływanego jako \1, ...\9
  • {m,n} - wystąpienie poprzedzającego znaku nie mniej niż m razy i nie więcej niż n razy;
  • \ - znak pozwalający traktować następujący po nim znak sterujący ^$+.|[{( itp jako zwykły znak.

Przykład 1.

  • ([a-Z]+)([0-9]+) - wyszukiwanie w HTML sąsiadujących obok komórek tabeli najpierw literowych - i następujących po nich komórek cyfrowych
  • \2\1 - w komendzie zamień (replace) przestawienie wzorców wyszukanych w poprzedzającym algorytmie szukania

Przykład 2.

  • ^\(([0-9]+)\) - wyszukanie wzorca - dowolny ciąg cyfr w nawiasach (.), występujacego na początku linii
  • (\1) - powtórzenie tego wzorca otoczonego znakami ''' z obydwu stron

Przykład 3.

  • dziennikar(z|ka) - przedstawienie wzorca alternatywnego dla dwóch słów: dziennikarz oraz dziennikarka


Zobacz także: