Мне нужно регулярное выражение, которое я могу использовать в VBScript и .NET, который будет возвращать только числа, найденные в строке.
Например, любая из следующих "строк" должна возвращать только 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
Это будет использоваться в парсере электронной почты, чтобы найти номера телефонов, которые клиенты могут предоставить в письме и выполнить поиск в базе данных.
Возможно, я пропустил подобное регулярное выражение, но я искал regexlib.com.
[EDIT] - добавлен код, созданный RegexBuddy после настройки ответа musicfreak
Код 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
С#
string resultString = null;
try {
Regex regexObj = new Regex(@"[^\d]");
resultString = regexObj.Replace(subjectString, "");
} catch (ArgumentException ex) {
// Syntax error in the regular expression
}