2016-04-07 6 views
-1

Ich möchte eine Bedingung, die einige Alphabet in Bereich, die ASCII-Reihenfolge in Perl und umgeben von Klammer umgeben überprüfen. Wie finden [abc] oder [a-c]. Ich habe /\[[a-z]\]/ oder /\[([a-z]),([a-z])\]/ verwendet, aber das findet nur ein Zeichen in der Klammer ex: .Regex Bereich in ascii Reihenfolge mit Perl zu überprüfen

+1

Dies ist nicht klar. Bitte geben Sie Ihre Eingabe und die erwartete Ausgabe an. – Quinn

+0

* aber das findet nur ein Zeichen in der Klammer ex: [d] * - Das ist, weil Klammern nur 1 Zeichen entsprechen. Jede Regex kann jedoch so angelegt werden, dass sie mehr als einem Zeichen entspricht, indem nach der Regex ein Modifikator hinzugefügt wird: '*' => 0 oder mehr, '+' => eins oder mehr, '{3}' => 3 mal, ' {3,} '=> drei oder mehr,' {3, 6} '=> zwischen 3 und 6 mal. Siehe: http://perldoc.perl.org/perlrecharclass.html#Bracketed-Character-Classes – 7stud

Antwort

0

Dieses Muster wird tun, was Sie fragen

/\[(?:[a-z](?:-[a-z])?)+\]/