/ / Filtrowanie złych znaków za pomocą wyrażeń regularnych - c #, .net, asp.net

Odfiltrowanie złych znaków za pomocą wyrażeń regularnych - c #, .net, asp.net

Mam ciąg znaków, który musi być zgodny @ "^ [w * $] [ws - $] * ((d {1,})) {0,1} $". Jeśli to nie pasuje do tego wyrażenia, chcę, aby znaki, które nie pasują, zostały usunięte z ciągu znaków. Jak mogę to ustawić?

Odpowiedzi:

3 dla odpowiedzi № 1
s = Regex.Replace(s, @"^[^[w*$][ws-$]*((d{1,})){0,1}]$", "")

1 dla odpowiedzi nr 2

Prawdopodobnie chcesz coś takiego (ale nie jestem pewien co do faktycznego pytania). Może chcesz usunąć całe wyrażenie regularne, jeśli nie pasuje, to nie jest to, co robi poniższy kod:

s = Regex.Replace(s, @"^[^w*$]([w*$])[^w*$s-]*([ws-$]*).*$", "$1$2")

Pomysł polega na przeplataniu wszystkich poszukiwanych bloków znaków z listą niedozwolonych postaci i zatrzymywania tylko tych, których potrzebujesz. Koniec twojego regex był trochę dziwny, więc go uprościłem.