2010-08-08 17 views
5

Kann jemand mir vielleicht mit diesem Regex helfen? Ich benutze Javascript und klassischen ASP.Regex elegantes Muster Spiel

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

Ich muss dieses Muster genau übereinstimmen.

Ich suche eine elegantere Art, dies zu tun.

+2

Was Sie passen wollen? – NullUserException

+0

eine Musterübereinstimmung, ich importiere eine Excel-Datei in mysl –

Antwort

6

Sie können einen negativen Zeichenklasse verwenden unnötige Rückzieher zu vermeiden:

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

Sie auch die Groß- und Kleinschreibung Flaggen fallen kann, da es keine Briefe in Ihrem regulären Ausdruck sind. Dies könnte zu einer kleinen Leistungsverbesserung führen.

+0

Danksagung, ich werde die i entfernen –

+0

Hallo Marke eine Idee, wie ich das gleiche tun würde, aber nur nach diesem Muster suchen? (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 , '14', '15'), es ist im Grunde das gleiche Muster, aber nur mit einer Startklammer und Schließbügel –

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

Das funktioniert für mich danke Spender! –

+0

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

+1

Sie brauchen nicht die '// i'-Flagge. –

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