2017-08-15 2 views
2

ich für einen regulären Ausdruck suchen die folgenden Strings entsprechen:Regex mit 3 Teil

node-primary-backup-2017-08-10-15 
node-secondary-backup-2017-06-12-32 
node-secondary-backup-2017-08-11-24 
node-primary-backup-2017-07-13-02 
... 

Ich habe versucht, die folgenden, aber es funktioniert nicht:

node-(?=primary|secondary)-backup-\d+-\d+-\d+-\d+ 

Jede Hilfe ist willkommen!

+1

Entfernen Sie einfach '='. – melpomene

Antwort

3

Der Ausdruck (?=primary|secondary) ist ein vorausschauen, die behauptet, dass die unmittelbar Zeichen die aktuelle Position nach dem angegebenen Ausdruck entsprechen, aber es verbraucht keinen Eingang.

Ihr Ausdruck erfordert -backup-\d+-\d+-\d+-\d+ entspricht (primary|secondary), was natürlich unmöglich ist.

Entfernen Sie einfach ?= es einen einfacher Wechsel Ausdruck zu machen:

node-(primary|secondary)-backup-\d+-\d+-\d+-\d+