J'ai une chaîne avec deux numéros ou plus. Voici quelques exemples:
"(1920x1080)" " 1920 by 1080" "16 : 9"
4 Réponses :
(\d+)\D+(\d+) After that, customize this regex to match the flavour of the language you'll be using.
\ d code> contiendra tous les chiffres i>, non seulement les chiffres romains, en fonction de la bibliothèque de regex et de la plate-forme.
.NET / C # 'S (et PCRE) Regex \ d code> correspondance [0-9]. Point final.
Non, ça ne le fait pas. Il correspondra au 0123456789 - Stackoverflow.com/a/6479605/1583
Si le caractère est défini comme un chiffre unicode, il sera assorti à .NET par \ d code>.
Pourriez-vous expliquer l'avantage de cela sur regex.matches (S, "[0-9] +");?
@ODED Votre premier commentaire m'a confondu jusqu'à ce que je réalisais que vous ne vouliez pas dire i code>, ii code>, ... vii code> n'est pas 0-9 arabe?
@Rawling - Oui, ils sont. Mal mis par moi-même. Signifiait les chiffres normalement utilisés dans l'ouest, par rapport à d'autres scripts.
L'expression régulière de base serait la suivante: Vous devrez utiliser la bibliothèque pour accéder à toutes les correspondances et obtenir leurs valeurs. P> var matches = Regex.Matches(myString, "[0-9]+");
foreach(var march in matches)
{
// match.Value will contain one of the matches
}
Vous pouvez utiliser sortie: p>
Vous pouvez obtenir la chaîne en suivant
MatchCollection v = Regex.Matches(input, "[0-9]+");
foreach (Match s in v)
{
// output is s.Value
}
Regexoption.ignorecase code> n'est pas nécessaire. Les chiffres romains n'ont pas de cas supérieurs / minuscules.
Normalement, je pratique avec Regexoption.ignorecase. Désolé de mon erreur
Pas une erreur en tant que telle. Juste pas nécessaire dans ce cas.
Veuillez décider de quelle langue vous avez besoin la réponse. Les objets Regex in .NET ne sont pas les mêmes que les Java.