Por ejemplo, me gustaría contar cuántos números están en una cadena mediante una expresión regular como: [0-9]¿Cómo cuento el número de coincidencias por una expresión regular?
Respuesta
Regex.Matches(text, pattern).Count
Regex.Matches(input, @"\d").Count
Dado que esto se va a asignar una instancia de ajuste para cada partido, esto puede ser subóptimo en cuanto a rendimiento. Mi instinto sería hacer algo como lo siguiente:
input.Count(Char.IsDigit)
La instancia MatchCollection de regresar de una llamada al método Partidos en RegEx le dará el recuento del número de coincidencias.
Sin embargo, lo que sospecho es que podría no ser el recuento el que está mal, pero es posible que deba ser más específico con su expresión regular (hacerlo menos ambicioso) para determinar las instancias específicas de la coincidencia querer.
Lo que tiene ahora debe darle todas las instancias de un solo número en una cadena, por lo que está obteniendo un resultado que cree que es incorrecto? Si es así, ¿puedes proporcionar la cadena y la expresión regular?
lo siento, worng clic, publicado una respuesta en su lugar –
var a = new Regex("[0-9]");
Console.WriteLine(a.Matches("1234").Count);
Console.ReadKey();
var regex = new Regex(@"\d+");
var input = "123 456";
Console.WriteLine(regex.Matches(input).Count); // 2
// we want to count the numbers, not the number of digits
- 1. Contar el número de coincidencias de una expresión regular en Javascript
- 2. ¿Cómo encontrar coincidencias superpuestas con una expresión regular?
- 3. Contar el número de coincidencias
- 4. Expresión regular [Cualquier número]
- 5. grupo de varias coincidencias para una sola expresión regular
- 6. Producir todas las coincidencias posibles de una expresión regular
- 7. ¿Cómo cuento el número de palabras en una cadena?
- 8. ¿Cómo cuento el número de filas devueltas por subconsulta?
- 9. Expresión regular para el número decimal
- 10. ¿Expresión regular para encontrar una expresión regular?
- 11. una expresión regular para analizar el número de versión
- 12. cómo concatenar $ 1 con número en una expresión regular
- 13. Usando grep con expresión regular para filtrar coincidencias
- 14. Expresión regular para un número hexadecimal?
- 15. Expresión regular para número de cuenta bancaria?
- 16. expresión regular por tiempo
- 17. Expresión regular opuesta
- 18. grep con expresión regular para el número de teléfono
- 19. ¿Cómo validar una expresión regular?
- 20. ¿Hay una expresión regular para detectar una expresión regular válida?
- 21. Crear un conjunto de todas las coincidencias posibles para una expresión regular dada
- 22. Cómo escribir una expresión regular para las coincidencias de cadena que comienza con @ o termina con,?
- 23. En una búsqueda de Lucene/Lucene.net, ¿cómo cuento el número de visitas por documento?
- 24. ¿Cómo descompilar una expresión regular?
- 25. Comprueba si una expresión regular cubre otra expresión regular
- 26. ¿Cómo puedo unir una cadena completa con una expresión regular?
- 27. ¿Cómo puedo encontrar todas las coincidencias con una expresión regular en Python?
- 28. ¿Cómo puedo encontrar todas las coincidencias con una expresión regular en Perl?
- 29. ¿Cómo cuento el número de búferes/archivos abiertos en Emacs?
- 30. ¿Cómo puedo obtener una expresión regular para encontrar todas las coincidencias en javascript?
esto devolverá el número de caracteres de una cadena. "123 456" devolverá 6, aunque solo hay 2 números. Correcto será Regex.Matches (entrada, @ "\ d +"). Conde –
No está mal, pero esto es específico de cada caso. Otras coincidencias de expresiones regulares no se podrían contar sin tener una función separada – JustDaveN