2010-08-08 20 views
5

Qualcuno può aiutarmi con questa espressione regolare? Sto usando Javascript e ASP classico.Corrispondenza modello elegante Regex

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

Ho bisogno di abbinare esattamente questo modello.

Sto cercando un modo più elegante per farlo.

+2

Cosa stai cercando di abbinare? – NullUserException

+0

un pattern match, sto importando un file excel in mysl –

risposta

6

È possibile utilizzare una classe di carattere negativo al fine di evitare inutili backtracking:

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

È possibile anche cadere le bandiere case-insensitive poiché non ci sono lettere nella vostra espressione regolare. Questo potrebbe dare un piccolo miglioramento delle prestazioni.

+0

Grazie mark, rimuoverò il i –

+0

Hi mark qualsiasi idea di come farei la stessa cosa ma cerco solo questo pattern? ('2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13' , '14', '15'), è fondamentalmente lo stesso modello ma solo con una staffa di partenza e staffa di chiusura –

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

Questo funziona per me grazie spender! –

+0

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

+1

Non hai bisogno del flag '// i'. –

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