Thread regex: einzelnes zeichen ersetzen, doppeltes nicht (12 answers)
Opened by Gast at 2006-09-15 13:25

topeg
 2006-09-16 08:18
#69912 #69912
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Es geht auch anders:
Hier zwei Möglichkeiten:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/perl
use strict;
use warnings;

my $s='123+456++78+90++';
my $z='\+'; # "+" ist ein Suchzeichen in Regulären Ausdrücken und muß mit "\" auskommentiert werden.
my $e;
print "$s\n";

# mit Permatching
($e=$s)=~s/(?<=[^$z])$z(?=[^$z])/q/g;
print "$e\n";

# mit Ersetzung
($e=$s)=~s/([^$z])$z([^$z])/$1q$2/g;
print "$e\n";
\n\n

<!--EDIT|topeg|1158380960-->

View full thread regex: einzelnes zeichen ersetzen, doppeltes nicht