Leser: 1
![]() |
|< 1 2 >| | ![]() |
13 Einträge, 2 Seiten |
1
2
3
4
5
6
7
8
9
10
#!/usr/bin/perl
use strict;
use warnings;
my $string = '123+456++78+90++';
my $zeichen = '+';
$string =~ s/(\Q$zeichen\E{1,2})/length $1 == 2 ? $1 : 'q'/eg;
print $string;
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";
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";
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/perl
use strict;
use warnings;
for my $s (qw/123+456++78+90++ +123++456+78++90+/) {
my $z='\+'; # "+" ist ein Suchzeichen in Regulären Ausdrücken und muß mit "\" auskommentiert werden.
my $e;
# topeg mit Permatching
($e=$s)=~s/(?<=[^$z])$z(?=[^$z])/q/g;
print "topeg mit Prematching:\n$s => $e\n";
# topeg mit Ersetzung
($e=$s)=~s/([^$z])$z([^$z])/$1q$2/g;
print "topeg mit Ersetzung:\n$s => $e\n";
# Dubu mit negativem Lookbehind/-forward
($e=$s)=~s/(?<!$z)$z(?!$z)/q/g;
print "Dubu mit negativem Lookbehind/-forward:\n$s => $e\n";
# Dubu mit erweiterter Ersetzung
($e=$s)=~s/(^|[^$z])$z([^$z]|$)/$1q$2/g;
print "Dubu mit erweiterter Ersetzung:\n$s => $e\n";
print "\n";
}
__END__
topeg mit Prematching:
123+456++78+90++ => 123q456++78q90++
topeg mit Ersetzung:
123+456++78+90++ => 123q456++78q90++
Dubu mit negativem Lookbehind/-forward:
123+456++78+90++ => 123q456++78q90++
Dubu mit erweiterter Ersetzung:
123+456++78+90++ => 123q456++78q90++
topeg mit Prematching:
+123++456+78++90+ => +123++456q78++90+
topeg mit Ersetzung:
+123++456+78++90+ => +123++456q78++90+
Dubu mit negativem Lookbehind/-forward:
+123++456+78++90+ => q123++456q78++90q
Dubu mit erweiterter Ersetzung:
+123++456+78++90+ => q123++456q78++90q
![]() |
|< 1 2 >| | ![]() |
13 Einträge, 2 Seiten |