retour uniquement des Chiffres de 0 à 9 à partir d'une Chaîne

J'ai besoin d'une expression régulière que je peux utiliser dans VBScript et .NET qui sera de retour que les nombres qui se trouvent dans une chaîne de caractères.

Par Exemple, de la suite de "chaînes" doit retourner seulement 1231231234

  • 123 123 1234
  • (123) 123-1234
  • 123-123-1234
  • (123)123-1234
  • 123.123.1234
  • 123 123 1234
  • 1 2 3 1 2 3 1 2 3 4

Il sera utilisé dans un e-mail de l'analyseur de trouver les numéros de téléphone, les clients peuvent prévoir dans l'e-mail et faire une recherche de base de données.

J'ai peut-être manqué un semblable regex, mais j'ai fait une recherche sur regexlib.com.

[EDIT] - Ajout d'un code généré par RegexBuddy après la mise en place musicfreak la réponse de

Code VBScript

Dim myRegExp, ResultString
Set myRegExp = New RegExp
myRegExp.Global = True
myRegExp.Pattern = "[^\d]"
ResultString = myRegExp.Replace(SubjectString, "")

VB.NET

Dim ResultString As String
Try
      Dim RegexObj As New Regex("[^\d]")
      ResultString = RegexObj.Replace(SubjectString, "")
Catch ex As ArgumentException
      'Syntax error in the regular expression
End Try

C#

string resultString = null;
try {
    Regex regexObj = new Regex(@"[^\d]");
    resultString = regexObj.Replace(subjectString, "");
} catch (ArgumentException ex) {
    //Syntax error in the regular expression
}
  • Comme je l'ai dit, \D est plus simple que ^\d.