2017-11-20 4 views
-2

Dies ist leer Text:Regex - erhalten Zeichenfolge zwischen Sonderzeichen

[Tiền Giang] DB: 092743 1: 99578 2: 09593 3: 93933 - 17703 4: 04433 - 62172 - 47622 - 95029 - 80836 - 15012 - 30888 [Kiên Giang] DB: 564242 1: 03204 2: 49541 3: 79330 - 49374 4: 84491 - 10327 - 95832 - 61630 - 90692 - 28793 - 28600 

ich will:

(0) [Tiền Giang] 
(1) DB: 092743 1: 99578 2: 09593 3: 93933 - 17703 4: 04433 - 62172 - 47622 - 95029 - 80836 - 15012 - 30888 
(0) [Kiên Giang] 
(1) DB: 564242 1: 03204 2: 49541 3: 79330 - 49374 4: 84491 - 10327 - 95832 - 61630 - 90692 - 28793 - 28600 

...

Ich war erhalten (0) mit: (\[(.*?)\]\s).exec(text); aber mit (1) irgendeine Idee ..

Antwort

2

Ich denke, Sie könnten es mit 2 erfassten Gruppen tun.

var str = "[Tiền Giang] DB: 092743 1: 99578 2: 09593 3: 93933 - 17703 4: 04433 - 62172 - 47622 - 95029 - 80836 - 15012 - 30888 [Kiên Giang] DB: 564242 1: 03204 2: 49541 3: 79330 - 49374 4: 84491 - 10327 - 95832 - 61630 - 90692 - 28793 - 28600 "; 
 
var pattern = /(\[.+?])([^[]+)/g; 
 
var matches; 
 

 
while ((matches = pattern.exec(str)) !== null) { 
 
    console.log("(0) " + matches[1]); 
 
    console.log("(1) " + matches[2]); 
 
}

  • Gruppe 1: Die Klammern und die Zeichen (\[.+?\])
  • Gruppe 2: Weiter, bis Sie stoßen einen [([^[]+)
Verwandte Themen