2011-04-18 3 views
0

Voici par exemple le texte ...Comment utiliser l'expression régulière extraire le nombre dans le()?

ss(12a)eee 
ss(121112322)eeede223 

Je voudrais extraire "121112322" ... ... je peux extraire le "(121112322)", en utilisant cette

\(\d*\) 

Mais Je voudrais exclure le "()", et le texte doit dans le(), comment puis-je le faire? Je vous remercie.

+0

Pour référence future, pourriez-vous être plus précis sur l'implémentation d'expressions régulières? Quelle bibliothèque ou langue utilisez-vous? – GregC

Répondre

1

Les expressions régulières fournissent façons de capturer des tampons. Consultez le document this pour savoir comment capturer des tampons avec Perl, ce qui est plutôt universel.

Fondamentalement, vous avez besoin d'envelopper le morceau de regex que vous souhaitez capturer entre parenthèses non échappée:

(\(\d*\)) 

Par convention, dans un tampon 0 vous aurez la chaîne entière, et dans un tampon 1 vous » ll aura le premier tampon capturé.

0

Cela devrait le faire.

\((.*)\) 

Le premier groupe sera la valeur à l'intérieur des brakets - un exemple d'utilisation en javascript

var test = 'sfsfsdfsdf(12a)sdfsdfsdf'; 
var r = test.match(/\((.*)\)/) 
console.log(r[1]) // <--- bracket inners 

et de le voir en action

http://jsfiddle.net/tAm2d/

Questions connexes