Thread Erlaubte "Klammerzeichen" bei Regexen und anderen quote-like-Operatoren
(6 answers)
Opened by GwenDragon at 2021-01-07 16:23
Ich habe jetzt mal ein paar Testfälle als Kommentar an das GitHub-Issue angefügt. Bemerkenswert: GitHubs eigenes Highlighting bekommt die meisten Fälle korrekt hin.
Hier im Forum sieht das auch ganz interessant aus: Lesbar ist es. Nur mit Quotes und alphanumerischen Begrenzern kommt er nicht klar, und der "Normalfall" s/a/b/ sieht anders als als die anderen üblichen Zeichen und die paarweisen vom Typ s(a)(b). Code (perl): (dl
)
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 use 5.020; use strict; use warnings; sub saeaoagr () { print "foo"; qr/x/; } # Those are the most popular say ("fee" =~ s/e/o/gr . "bar"); say ("fee" =~ s!e!o!gr . "bar"); say ("fee" =~ s|e|o|gr . "bar"); say ("fee" =~ s{e}{o}gr . "bar"); say ("fee" =~ s(e)(o)gr . "bar"); say ("fee" =~ s[e][o]gr . "bar"); # Those have syntactic significance say ("fee" =~ s?e?o?gr . "bar"); say ("fee" =~ s'e'o'gr . "bar"); # ' # quote to fix # Those are valid, but infrequent (and weird) say ("fee" =~ s"e"o"gr . "bar"); # " # quote to fix say ("fee" =~ s aeaoagr . "bar"); say ("fee" =~ s#e#o#gr . "bar"); # Those must not be confused with the previous two say ("fee" =~ saeaoagr . "bar"); # calls saeaoagr() say ("fee" =~ s #e#o#gr that's a comment, not a regex (e)(o)gr . "bar"); # and here's the regex. |