2009-09-24 7 views
0

J'ai la chaîne suivante:Supprimer citation dans CORRESPONDANCE REGEX

[assembly: AssemblyVersion("1.0.0.0")] 

Le problème est maintenant que je dois extraire le sortir 1.0.0.0. Voici l'expression régulière que je peux venir avec:

var pattern = "[^\\/]+\\[[a-z]+:\\s" + "AssemblyVersion"+ "(?:Attribute)?\\((.+)\\)\\]" ; 
var theString ="[assembly: AssemblyVersion("1.0.0.0")]"; 
var reAssemblyVersion = new RegExp(pattern,"m"); 
reAssemblyVersion.exec(theString); 
var theAnswer = RegExp.$1;  // theAnswer is "1.0.0.0", but I want it to be 1.0.0.0 

Il doit y avoir quelque chose que je fait de mal à mettre en place la variable pattern, mais n'a pas pu trouver .. des idées?

+0

Vous avez oublié d'inclure des citations dans un regex (après et avant ")") – kangax

Répondre

1

Votre RegEx n'a pas éliminé les doubles qoutes.

Voici la bonne:

var pattern = "[^\\/]+\\[[a-z]+:\\s" + "AssemblyVersion"+ "(?:Attribute)?\\(\\\"(.+)\\\"\\)\\]" ; 
// Here --------------------------------------------------------------------^^^^ ^^^^ 

Hope it helps

0

Pourquoi ne pouvez-vous avoir juste quelque chose simple que cela:

\(\"([0-9.]*)\"\) 
Questions connexes