/ / Comment vérifier si un texte contient un ensemble de caractères en utilisant regex en C # - c #, regex, string

Comment vérifier si un texte contient un ensemble de caractères en utilisant regex en C # - c #, regex, string

J'aimerais comprendre si mon message comprend un ensemble fixe de caractères tels que

<number>:<number>

Ce que j'essaye c'est:

if (!loggingEvent.RenderedMessage.Contains("[0-9]:[0-9]"))
{
...
}

mais ça ne marche pas comme je veux. Comment puis-je le réparer? C'est en C #.

MODIFIER

La chaîne entière est comme:

The server IP is -> 127.1.2.35:9001!

Réponses:

2 pour la réponse № 1

Une approche regex ressemblera à

if (!Regex.IsMatch(loggingEvent.RenderedMessage, "[0-9]+:[0-9]+"))

Notez que String.Contains ne supporte pas les regex. Aussi, [0-9] correspond à 1 chiffre alors que vous voulez probablement autoriser 1 ou plus (c’est ce que + assure).

Voir la démo en ligne C # extraire également cette sous-chaîne:

var s = "The server IP is -> 127.1.2.35:9001!";
var result = Regex.Match(s, @"[0-9]+:[0-9]+");
if (result.Success)
Console.WriteLine(result.Value);
else
Console.WriteLine("No match!");

0 pour la réponse № 2
    Regex regex = new Regex(@"[0-9]:[0-9]");
Match match = regex.Match("<number>:<number>");
if (match.Success)
{
Console.WriteLine(match.Value);
}