2017-10-05 1 views
-1

Ich möchte Zuordnungen wie diese: ABcD -> ABccD, xyzK -> xxyyzzK usw.Wie wiederhole ich jeden Kleinbuchstaben mit Regex in Perl?

Ich kann eine Schleife schreiben, um dies zu tun. Aber gibt es einen Weg, dies mit Regex zu tun? Ich kann alle Kleinbuchstaben mit einem Zeichensatz [a-z] finden. Wie schreibe ich das ersetzende Teil?

$string =~ s/[a-z]/....../g; # How do I fill in for the ...... ? 

Antwort

3

Der einfachste Weg, dies zu tun, ist mit einer Erfassungsgruppe und Capture-Variable:

$string =~ s/([a-z])/$1$1/g; 

Siehe Extracting matches und Search and replace in perldoc perlretut.

+0

Dank Melpomene. Genau das, wonach ich suche. Ich wusste nicht, dass die eingefangene Gruppe auch ersetzt werden kann. Vielen Dank! –

Verwandte Themen