solo regular rango que numeros mayores letras guiones expresion espacios espacio consecutivos blanco alfanumerico c# regex

c# - rango - expresion regular solo numeros mayores que 0



C#Expresión regular para unir letras, números y guiones bajos (4)

Estoy tratando de crear un patrón de expresión regular en C #. El patrón solo puede permitir:

  • letras
  • números
  • subraya

Hasta ahora estoy teniendo poca suerte (no soy bueno en RegEx). Aquí está lo que he intentado hasta ahora:

// Create the regular expression string pattern = @"/w+_"; Regex regex = new Regex(pattern); // Compare a string against the regular expression return regex.IsMatch(stringToTest);


@ "^ / w + $"

/ w coincide con cualquier "carácter de palabra", definido como dígitos, letras y guiones bajos. Es compatible con Unicode, por lo que hará coincidir las letras con diéresis y demás (mejor que intentar rodar su propia clase de personaje como [A-Za-z0-9_] que solo coincidiría con las letras en inglés).

La ^ al principio significa "coincide con el principio de la cadena aquí", y la $ al final significa "coincide con el final de la cadena aquí". Sin esos, por ejemplo, si solo tuvieras @ "/ w +", entonces "@@ Foo @@" coincidiría, ya que contiene uno o más caracteres de palabras. Con ^ y $, entonces "@@ Foo @@" no coincidiría (lo que suena como lo que estás buscando), porque no tienes un principio de cadena seguido de una o más palabras caracteres seguidos de fin de cadena.


Intente experimentar con algo como http://www.weitz.de/regex-coach/ que le permite desarrollar expresiones regulares de forma interactiva.

Está diseñado para Perl, pero me ayudó a comprender cómo funciona una expresión regular en la práctica.


Regex

packedasciiRegex = new Regex(@"^[!#$%&''()*+,-./:;?@[/]^_]*$");


EDITAR:

@"^[a-zA-Z0-9/_]+$"

o

@"^/w+$"