2016-12-09 3 views
0

Ich lese PDF-Datei. auf einer Seite der PDF-Datei möchte ich das Datum von dieser Zeichenkette "Illustration ab: 9. Dezember 2016" erhalten. Ich bin in der Lage, die "Illustration von:" mit Regex zu suchen. aber wie ich das Datum nicht bekommen kann. Ich muss das In-Regex-Ergebnis zurückgeben. Ich muss nicht die gleiche Zeichenfolge, die ich suche, zurückgeben.Wie bekomme ich die nächste Zeichenfolge am Ende der Zeile, wenn die Zeichenfolge übereinstimmte

i tried this but it only return me Illustration as of : 

const regex = /Illustration as of:/g; 
const str = `Illustration as of: December 9, 2016`; 
let m; 

while ((m = regex.exec(str)) !== null) { 
    // This is necessary to avoid infinite loops with zero-width matches 
    if (m.index === regex.lastIndex) { 
     regex.lastIndex++; 
    } 
    // The result can be accessed through the `m`-variable. 
    m.forEach((match, groupIndex) => { 
     console.log(`Found match, group ${groupIndex}: ${match}`); 
    }); 
} 

Ich brauche nur dieses Ergebnis zurückzukehren 9. Dezember 2016

+0

'(: Abbildung Stand:? \ N) (Januar | Februar | März | Mai | Juni | Juli | August | September | Oktober | November | Dezember) \ d {1, 2}, \ s? \ D {4} 'oder' (?: Illustration ab: \ s?). + $ ' –

+0

es sieht aus wie sehr kompliziert .. –

+0

Die zweite ist ziemlich einfach, suchen Sie einfach nach' Illustraton ab: 'und nimm alles danach bis zum Ende der Zeile. –

Antwort

0
const regex = /Illustration as of:+([^\n]+)/g; 

versuchen Sie dieses ich es hoffe, u Datum nur zurück. Nach dem Match wird das Ende der Zeichenfolge zurückgegeben.

+0

Danke, es funktioniert für mich ... Hattsoff –

0

(?:Illustration as of:\s?)(January|February|March|May|June|July|August|Septembe‌​r|October|November|D‌​ecember) \d{1,2},\s?\d{4} oder (?:Illustration as of:\s?).+$

Verwandte Themen