2015-11-10 19 views
6
namens

Ich versuche Autor Vollständiger Name mit Artikeltitel ersetzen ich eine Liste von Artikeln haben, ähnlich wie folgt aus:Notepad ++ regex Gruppen replace

  1. Albershein P., Nevis D J. Eine Methode zur Analyse von Zuckern in Pflanzenzellwandpolysacchariden durch Gasflüssigchromatographie // J. Carbohydrate Research. - 1967. - Vol. 5, № 3. - Р. 340-345.

Und ich habe Regex dafür

(?'n1'^\d{3}\.)(?'n2'(?:(?:[A-ZА-Я][-a-zćа-я ]+)?([A-ZА-Я][-a-zćа-я]+\xA0[A-ZА-Я]\.(?:\xA0[A-ZА-Я]\.){0,2}\,?)(?: \[et al\])? ?)+)(?'n3' [^\/]+[\/]{2}) 

aber ersetzen wie

\k{n1} 

oder

\k'n1' 

nicht funktioniert

wir versuchen, dies in Perl, haben aber das gleiche Ergebnis

+1

Versuchen Sie, nur numerischen Gruppenindex '\ 1' oder '$ 1 '. Gruppenname wäre [\ g ] (https://regex101.com/r/mR0nU9/1), '$ {n1}' ersetzen oder vielleicht '\ k {n1}', '\ g {n1}' aber Keine scheint in np ++ zu funktionieren. –

+0

In Perl könnten Sie '$ + {Name}' auf der Ersatzseite versuchen, aber es sollte in Form von eval 's /// zB '(nicht sicher über die Eval) – sln

+0

\ 1 \ 2 ... arbeiten gut in einfachen Samles, aber in diesem Fall es dosent Arbeit (Sie können versuchen) –

Antwort

8

Versuchen in regex (?<groupname>something to match)

Und Ersatz mit: $+{groupname}

+0

Es ist cool, vielen Dank –