C'è ancora un problema, però, tutte le risposte di cui sopra considerare i numeri validi 12i o a2 quando hanno sh ouldn't.
Quanto segue potrebbe risolvere questo problema
var matches = Regex.Matches(input, @"(?:^|\s)\d+(?:\s|$)");
Ma questa soluzione aggiunge una questione più :) Questo catturerà gli spazi intorno al numero intero. Per risolvere questo problema dobbiamo acquisire il valore dell'intero in un gruppo:
MatchCollection matches = Regex.Matches(_originalText, @"(?:^|\s)(\d+)(?:\s|$)");
HashSet<string> uniqueNumbers = new HashSet<string>();
foreach (Match m in matches)
{
uniqueNumbers.Add(m.Groups[1].Value);
}
fonte
2017-11-08 16:14:28
Per favore, decidi in quale lingua è necessario inserire la risposta. Gli oggetti regex in .NET non sono gli stessi di Java. – Oded
@Oded ok, fatto. – David