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
Vous devez vous connecter pour publier un commentaire.
Vous avez des ancres, ce qui empêche votre modèle à partir de la correspondance
^
correspond au début de la chaîne$
est la fin de la chaîneet depuis il y a d'autres choses avant et après la partie que vous voulez correspondre, votre modèle ne correspondent pas. Tout simplement supprimer ces ancrages et il doit être fine.
Ou de l'utilisation des limites de mots au lieu
\b
correspondent si il y a un "non-mot" caractère (non une lettre ou un chiffre) avant et après votre modèle.honte sur moi, je l'aurais remarqué que
"Blogs, Joe (S0003-000292) Lorem Ipsum!"
n'est pas une regex!OriginalL'auteur stema
Comme je suis nouveau je ne suis pas en mesure de trouver l'option de suppression 🙁
Vous pouvez supprimer vous propre poste. Entre ton post et les commentaires à ce post il y a quelques boutons: lien, modifier et la troisième est de supprimer. Appuyez sur OK sur le "Vote à supprimer ..." popup, parce que sa le votre, à votre vote est nécessaire.
Il n'y a que trois options de Liaison | Modifier | drapeau ...
OK, voir cette réponse sur meta vous devez vous inscrire à votre compte pour être en mesure de supprimer vos propres trucs. Actuellement, vous êtes un utilisateur non enregistré (stackoverflow vous connaît seulement en raison de la présence de cookies sur votre système), alors veuillez s'inscrire à votre compte
OriginalL'auteur Red
Voici le code qui va vous aider à
Note: je l'ai écrit en c#
OriginalL'auteur Red