Ich möchte einen regulären Ausdruck verwenden, um alle bis auf die ersten drei alphanumerischen Zeichen jedes Worts in einer Zeichenfolge mit einem Maskenzeichen (wie "x") zu maskieren, also "1 Buckingham Palace Road, London "würde" 1 Bucxxxxxxx Palxxx Roax, Lonxxx "werden.Regulärer Ausdruck zum Maskieren von Zeichenfolgen mit Zeichensatzersetzung
die ersten drei Zeichen zu halten, ist leicht
s/\b(\w{0,3})(.*)\b/$1/g
mit getan, aber ich kann nicht scheinen, um herauszufinden, wie Länge einzufügen ($ 2) mal die Maskierungszeichen anstelle von 2 $.
Danke!
Hervorragende Lösung. +1 für die Verwendung von negativem Lookbehind. –
Sieht gut aus. Offensichtlich ist das Problem nicht so sprachunabhängig, wie ich ursprünglich gedacht habe, da Perl anscheinend kein Lookback mit variabler Länge implementiert (aber C# tut es). Ich werde versuchen, herauszufinden, wie ich das heute später umgehen soll. –