2017-09-17 1 views
0

Comment extraire sous-configuration de motif correspondant javascript regex.Comment extraire sous-configuration de motif correspondant javascript regex

//string: 
var str = textcircle c360 s270 ar2 bl2px_br2px_ml0_mr0; 

//matching conditions: 
var ang = c.match(/c(\d+)\s+/g); //matches c360 
var startang = c.match(/s(\d+)\s+/g); //matches s180 
var ar = c.match(/ar(\d+)\s+/g); //matches ["ar2 "] 

En cas de ang, j'ai besoin d'extraire uniquement (\d+) subpattern, le numéro 360, pas plein c360.

Dans le cas de startang, j'ai besoin d'extraire uniquement le sous-modèle (\d+), le numéro 180, pas plein s180.

En cas de ar, je dois extraire uniquement (\d+) subpattern, le numéro 2, pas plein ar2, pour une raison quelconque, il est retourné comme un tableau, et non comme une chaîne.

Répondre

1

regexpattern.exec(string) retourne un tableau avec le point 0e le match entier et le 1er élément du premier groupe. Dans ce scénario, vous devez 1er groupe

//string: 
 
var str = 'textcircle c270 s270 ar2 bl2px_br2px_ml0_mr0;' 
 

 
//matching conditions: 
 
var ang = /c(\d+)\s+/g.exec(str)[1]; //matches 270 
 
var startang = /s(\d+)\s+/g.exec(str)[1]; //matches 270 
 
var ar = /ar(\d+)\s+/g.exec(str)[1]; //matches 2 
 

 
console.log(ang) 
 
console.log(startang) 
 
console.log(ar)

+0

merci, je voulais juste ajouter une réponse – olga

+0

@olga heureux de vous aider, si cette réponse a résolu votre problème s'il vous plaît marquer comme accepté en cliquant sur le chèque marquez à côté de la réponse. –