Przejdź do zawartości

Dyskusja Wikipedii:Narzędzia/Wyszukiwanie i zamiana

Treść strony nie jest dostępna w innych językach.
Z Wikipedii, wolnej encyklopedii

Dwa pytania - pewnie zapomniałem

  1. Co oznacza użyj RegEx - co to robi?
  2. Czy jeśli chcę zamienić jeden wiersz na dwa wiersze i używam do tego enteru, to się to da zrobić, np.

|ala ma kota

chcę zamienić na

| Ala ma kota
| Ala nie ma kota

Z góry dzięki Przykuta (dyskusja) 16:24, 4 paź 2010 (CEST)[odpowiedz]

Zamienić możesz, ale poematu tak nie napiszesz :-). Chociaż, no z wielkością literek byłby problem jeśli to by miało być uniwersalne, ale jako znaku nowej linii możesz użyć „\n”. Przy czym musisz sobie włączyć właśnie ten RegExp, a tu troszkę się sprawa komplikuje. Wyrażenia regularne (ang. REGular EXpression), to coś w rodzaju języka wyszukiwania. Pewne znaki mają specjalne znaczenie. Tak się składa, że „|” jest znakiem specjalnym. jeśli chcesz znaleźć znak „|”, to musisz dodać przed nim „\”, czyli szukasz „\|ala ma kota”. To na co zamieniasz nie jest już wyrażeniem regularnym jako takim, ale można tam używać znaków specjalnych typu „\n” (nowy wiersz), „\t” (tabulacja) itp.

Czyli ostatecznie szukasz:

szukasz: „\|ala ma kota”
zamieniasz na: „| Ala ma kota\n| Ala nie ma kota”

Ale wyrażenia regularne są jeszcze fajniejsze dlatego, że możesz użyć to czego znalazłeś. Oznacza się taki fragment nawiasami czyli np. szukasz „\|a(la) (ma kota)” i teraz aby tego użyć przy zmianie piszesz „$” i numer nawiasu (tutaj 1 lub 2). I teraz możesz zamienić na „| A$1 $2\n| A$1 nie $2” i otrzymasz dokładnie to samo (chociaż nie wygląda prawda ;-)).

Idąc dalej tym tropem chciałbyś móc zmienić więcej na raz np. „adam ma krokodyla”. Tu wracamy do znaku „|”, który znaczy ni mniej ni więcej tylko „lub” np. „(ma kota|ma krokodyla)” należy czytać „ma kota lub ma krokodyla”. Zwróć uwagę na nawiasy. Teraz zrobimy Alo-Adama: „a(la|dam)” i razem:

szukasz: „\|a(la|dam) (ma kota|ma krokodyla)”
zamieniasz na: „| A$1 $2\n| A$1 nie $2”

Dla Ali wynik będzie jak chciałeś, ale dla Adam „$1”, to „dam”, a „$2”, to „ma krokodyla”, czyli „|adam ma krokodyla” zmieni się na:

| Adam ma krokodyla
| Adam nie ma krokodyla

I to wszystko przy jednym podejściu.

To tylko wierzchołek wyrażeń regularnych, ale i tak jeśli samo to załapiesz, to już możliwości są ogromne :-).

Pozdrawiam, Nux (dyskusja) 23:55, 4 paź 2010 (CEST).[odpowiedz]