Extrait une sous-Chaîne basé sur l'Expression Régulière

Rapide RegExp problème (je l'espère).

J'ai besoin d'identifier une sous-chaîne d'une chaîne basée sur une expression régulière.

Prenez, par Exemple, les chaînes de caractères suivantes:

"Blogs, Joe (S0003-000292).html"
"bla bla bla S0003-000292 & so on"
"RE: S0003-000292"

J'ai besoin d'extraire le " S0003-000292 partie (ou drapeau exception si non trouvé).

Que pour ce que j'ai essayé, et bien, j'ai écrit un accidenté de modèle pour identifier S0000-000000:

^\(S[0-9]{4}-[0-9]{6}\)$

Et j'ai essayé de tester comme suit:

Dim regex As New Regex("Blogs, Joe (S0003-000292) Lorem Ipsum!")
Dim match As Match = regex.Match("^S[0-9]{4}-[0-9]{6}$")

If match.Success Then
    console.writeline "Found: " & match.Value
Else
    console.writeline "Not Found"
End If

Cependant, ce est toujours Pas Trouvé.

Donc 2 questions vraiment, quel est le problème avec mon modèle, & comment puis-je utiliser un nouveau modèle pour extraire la sous-chaîne?

(Travail avec .net 2)

EDIT: stema m'a orienté dans la bonne direction (c'est à dire à la chute de l' ^ et $) - cependant, cela ne résout pas le problème, mon principal problème était que j'avais défini la chaîne dans la RegEx constructeur à la place du modèle échangé ces plus et il a bien fonctionné (je blâme le manque de caffine):

Dim regex As New Regex("S[0-9]{4}-[0-9]{6}")
Dim match As Match = regex.Match("Joe, Blogs (S0003-000292).html")

If match.Success = True Then
    console.writeline "Found: " & match.Value
Else
    console.writeline "Not Found"
End If

OriginalL'auteur HeavenCore | 2012-04-26