Wyrażenie regularne

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

 
//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.

 
/([^ \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

$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ć

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

[A-Za-z0-9\s]

sprawdź:
http://regexr.com/

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

(@"[^\w ] 

a nie @"[^\w]

.

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1