Wczoraj miałem do podmiany część ciągu cyfr z dłuższego tekstu podobnego do tego, którego fragment poniżej, na inne znaki:

[plain]
Jakistekst
1212121212121212
Cos: cos/cos
[/plain]

Zadanie wydawało się bardzo proste. Ciąg cyfr był zawsze w jednej linii. Chciałem użyć takiego oto kodu:

Okazało się, że wyrażenie regularne zwyczajnie nie działa, tak jak bym chciał w powyższym skrypcie. Testowanie wyrażenia regularnego na http://www.rexv.org/ pokazało, że działa ono bez problemu. Dlaczego?

Po dość długim czasie sprawdzania wszystkiego co mi przyszło do głowy, postanowiłem zbadać dokładnie co siedzi w linii z ciągiem cyfr. Okazało się, że nie wziałem pod uwagi faktu, że nowe linie mogą być sformatowane w “Windowsowy” sposób, a więc poprzez powrót karetki, a następnie znak nowej linii. Zatem moje wyrażenie regularne powinno wyglądać tak:

Najwyraźniej na http://www.rexv.org/ nie ma problemów z takimi niuansami i ich skrypty odpowiednio konwertują różne znaki nowej linii.