¿Cómo puedo comprobar si un C # expresión regular es tratar de igualar 1- (y de sólo-1) -Character Cuerdas?

StackOverflow https://stackoverflow.com/questions/3870344

  •  28-09-2019
  •  | 
  •  

Pregunta

Tal vez esta es una pregunta muy rara (o incluso tonto), pero yo no lo necesitan en mi aplicación.

¿Cómo puedo comprobar si una expresión regular de C # está tratando de coincidir con cadenas de caracteres 1-?

Esto significa, que sólo permiten a los usuarios buscar cadenas de 1 carácter. Si el usuario está tratando de buscar cadenas de caracteres múltiples, un mensaje de error será mostrar a los usuarios.

¿He sido claro?

Gracias.

Pedro

P.S .: vi una respuesta acerca de calcular la longitud de las cadenas coincidentes finales, pero por alguna razón desconocida, la respuesta se ha ido. Pensé que por un tiempo, creo que el cálculo de la longitud final cadenas coincidentes está bien, a pesar de que va a ser un poco lento. Sin embargo, la pregunta original es muy raro y tedioso.

¿Fue útil?

Solución

En lugar de validar la expresión regular, lo que podría ser complicado, que podría aplicarse sólo en los personajes individuales en lugar de toda la cadena.

Si esto no es posible, es posible que desee limitar las posibilidades de expresión regular para algunos ciertas características. Por ejemplo, el usuario sólo puede introducir caracteres para que coincida o caracteres excluir. A continuación, usted acumula la expresión regular en el código.

por ejemplo:

  • ABC coincide [ABC]
  • ^ABC coincide [^ABC]
  • A-Z coincide [A-Z]
  • # coincide [0-9]
  • \w coincide \w
  • AB#x-z coincide [AB]|[0-9]|[x-z]|\w
  • qué casos es lo que necesita apoyo?

Esto sería algo fácil de analizar y validar.

Otros consejos

una expresión regular sería .{1} Esto permitirá que cualquier carbón sin embargo. si solo deseas alpanumeric entonces puede utilizar [a-z0-9]{1} o abreviada /w{1}

Otra opción su para limitar el número de caracteres que un usuario puede escribir en un campo de entrada. establecer un maxlength en él.

Sin embargo, otra opción es guardar las formas campo de entrada a un char y no una cadena, aunque es posible que tenga un manejo alrededor de este para evitar errores.

¿Por qué no usar maxlength y guardar en un char.

Puede buscar * sin escapar, +, {}, etc. ? y contar el número de caracteres (no se olvide de aplanar la [] como un carácter).

Básicamente, usted tiene que analizar su expresión regular.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top