"We are back" « oc.at

PS: regex replace

Umlüx 07.02.2018 - 15:58 1309 0
Posts

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 9005
hallo, ich bins mal wieder. und ich bin wieder zu deppat für alles :D

ich muss tausende files nach einem bestimmten string pattern durchsuchen und alle vorkommen verändert zurückschreiben. und ich steh beim replace grad an...

test für den betroffenen code ausschnitt:
Code: POWERSHELL
$string = "blafasel/CCCA1234567890123456/foobar/HURRZ/CCVI6543210987654321/blubb"
$replace = $string -replace '([C]{2})([A-Z]{2})(\d{4})(\d.*)(\d{4})/','$1$2$3XXXXXXXX$5/'

ich erwarte
Code:
blafasel/CCCA1234XXXXXXXX3456/foobar/HURRZ/CCVI8765XXXXXXXXXX4321/blubb

ich bekomme aber
Code:
blafasel/CCCA1234XXXXXXXX4321/blubb

kann ich hier nicht einfach mit replace arbeiten? oder wo hab ich meinen hänger?


EDIT:

BAH!
problem schon gelöst.. ".*" war zu greedy. ".*?" funktioniert wie ich will!
Bearbeitet von Umlüx am 07.02.2018, 16:51
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz