Thread "nicht-escapetes" Zeichen finden
(4 answers)
Opened by Matthias at 2005-05-28 11:57
Hallo,
ich möchte ein Sonderzeichen (z.B. #) finden, das nicht durch einen Backslash "escaped" ist. Das lässt sich sicher mit einem negativen Lookbehind lösen. Allerdings wird damit der Fall '\\#' , also ein literaler Backslash gefolgt von einem #, fälschlicherweise als escaped erkannt. Meine Lösung dazu finde ich allerdings recht unschön: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 use strict; use warnings; sub escaped { my $string = shift; my $count = 0; $count++ if $string =~ /\\$/; $count++ while $` =~ /\\$/ ; return ($count & 1) } ############################# #Aufruf: my $searchstring = '\#\\\#sfdgsdfgdsfg#ggg\\#'; if ($searchstring =~ /#/ and not escaped $`) { print "# gefunden "; } Ginge das auch "eleganter"? Grüße Matthias\n\n <!--EDIT|Matthias|1117280087--> |