Chcę zamienić wszystkie więcej niż 2 białe spacje w ciągu, ale nie nowe wiersze, mam to wyrażenie regularne: \s{2,}ale pasuje również do nowych wierszy.
Jak mogę dopasować tylko 2 lub więcej białych spacji, a nie nowe linie?
Używam c #
Chcę zamienić wszystkie więcej niż 2 białe spacje w ciągu, ale nie nowe wiersze, mam to wyrażenie regularne: \s{2,}ale pasuje również do nowych wierszy.
Jak mogę dopasować tylko 2 lub więcej białych spacji, a nie nowe linie?
Używam c #
Odpowiedzi:
Umieść znaki spacji, które chcesz dopasować, wewnątrz klasy znaków. Na przykład:
[ \t]{2,}
dopasowuje 2 lub więcej spacji lub tabulatorów.
Możesz też:
[^\S\r\n]{2,}
który pasuje do każdego white-space char wyjątkiem \ri \nco najmniej dwa razy (zauważ, że kapitał Sw \Sto skrót [^\s]).
\s{2,}przechwytuje nowe linie poprzedzające ją? Gdyby tak było \n\s{2,}, zrozumiałbym. I dlaczego działa wpisanie dosłownej spacji w nawiasach?
\sdopasowuje spacje, tabulatory i podziały wierszy. „A dlaczego wpisywanie dosłownej spacji w nawiasach kwadratowych działa?”, No cóż, błąd, bo tak. Nie wiem, co jeszcze o tym powiedzieć :)