Wyrażenie regularne

Wyrażenie regularne
KL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 156
0

Czy jest możliwość stworzenia 1 wyrażenia regularnego usuwającego zarówno znaki nie będące w alfabecie nie będące cyframi oraz nie będące spacjami ?

Takie coś mam

Kopiuj
 
//Regex rgx = new Regex(@"[^\w]|[0-9]");
return rgx.Replace(changeText, "");

Przerobiłem to z tego, które rzekomo pozostawia spacje a usuwa tylko to co nie jest w alfabecie oraz cyfry.

Kopiuj
 
/([^ \w]|[0-9])+/

Wcześniej dostałem coś takiego i to coś spełniało następujące zadanie

usuwać wszystkie znaki OPRÓCZ: liter normalnych, liter polskich, spacji

Kopiuj
$string = preg_replace("/[^ \w]+/", "", $string);

Teraz okazuje się że ma usuwać wszystkie znaki Oprócz, znaków z wszystkich alfabetów oraz spacji.

Nie mówię że jestem mocny z wyrażeń i nigdy ich nie lubiłem. ale czy jest możliwość napisania takiej operacji która w pseudokodzie powinna zadziałać

Kopiuj
Regex rgx = new Regex(@"[^ ]||[^/w]+");
  • że 2 operacja jest brana pod uwagę tylko i wyłącznie jak pierwsza jest false ?
DI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 103
1

[A-Za-z0-9\s]

sprawdź:
http://regexr.com/

KL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 156
0

Regex rgx = new Regex(@"[^\w ]|[0-9]|[_]");

takie powinno być ;) i ważne jest to w tym żeby po \w była spacja tak jak

Kopiuj
(@"[^\w ] 

a nie @"[^\w]

Kopiuj
.

Stronka dała do myślenia dzięki ;)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.