2010-08-08 7 views
5

Quelqu'un peut-être m'aider avec cette regex? J'utilise Javascript et ASP classique.Regex match élégant modèle

checkxls = checkxls.match(/'.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?';/ig) 

Je dois correspondre exactement à ce modèle.

Je cherche une manière plus élégante de faire ceci.

+2

Qu'est-ce que vous essayez de faire correspondre? – NullUserException

+0

un match de modèle, j'importe un fichier Excel dans mysl –

Répondre

6

Vous pouvez utiliser une classe de caractère négatif pour éviter retours en arrière inutile:

/'[^']*'(?:, '[^']*'){13};/g 

Vous pouvez également déposer les drapeaux insensibles à la casse car il n'y a pas de lettres dans votre expression régulière. Cela pourrait donner une petite amélioration des performances.

+0

Merci marque, je vais supprimer le i –

+0

Salut marquer une idée comment je ferais la même chose, mais juste chercher ce modèle? ('2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13' , '14', '15'), c'est fondamentalement le même modèle mais juste avec une parenthèse de départ et une parenthèse fermante –

3
/('',){13}'';/ig 
+0

Cela fonctionne pour moi merci spender! –

+0

checkxls.match (/('.*? ',) {13}'. *? ';/Ig); <<< like this –

+1

Vous n'avez pas besoin du drapeau '// i'. –

0
/(?:'[^']*',){13}'[^']*';/g