![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 13.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
hej,
Potrzebne mi wyrażenie regularne które do każdej linii tekstu doda tyle spacji, żeby każda linia miała określoną długość (powiedzmy x). Jednym z pomysłów jakie mam na rozwiązanie tego problemu, to dodawanie po jednej spacji do linii zawierających mniej niż x znaków i puszczenie tego w pętli, aż wszystkie linie się wyrównają, ale wolałbym takie rozwiązanie, które nie wymaga użycia pętli - żeby dało się go użyc w edytorze tekstu. Zakładamy, że na początku wszystkie linie mają <= x znaków. Pozdrowienia i z góry dzięki za pomysły. Rzepa. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 0 Dołączył: 4.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Wiem, że w wyrażeniu regularnym można określić maksymalną i minimalną ilość wystąpień wzorca. Czy można zatem dowiedzieć się ile razy wzorzec faktycznie wystąpił, aby zastosować tę liczbę w wyrażeniu zastępującym?
Cytat Wiem, ze w wyrazeniu regularnym mozna okreslic maksymalna i minimalna ilosc wystapien wzorca. Czy mozna zatem dowiedziec sie ile razy wzorzec faktycznie wystapil, aby zastosowac te liczbe w wyrazeniu zastepujacym?
okreslajac minimum i maks wzorca masz maske do ktorej bedziesz dopasowywal Stringi. W wyrazeniach nie masz mozliwosci liczyc ilosci znakow! Mozesz je wyrazeniem wyciac i policzyc strlen(). maske definuiesz poprzez podanie znaku czy zbioru oraz {min,maks} Np: [php:1:cf4baf91b7]<?php $str='jakis string i znak xxxxxxxxxxx a tu dalej jakis string pixi dixi itd...'; ?>[/php:1:cf4baf91b7] i teraz chcesz sie dowiedziec ile razy wystapil x lecz nie ogolnie w stringu a kolo siebie [php:1:cf4baf91b7]<?php if(preg_match('|x{2,}|i',$str,$m))echo strlen($m[0]); ?>[/php:1:cf4baf91b7] O to ci chodzi? pozdrawiam evo |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 18:11 |