Wie könnten Sie in einer ungeraden Zahlenlänge den mittleren Buchstaben abgleichen?Wie das mittlere Zeichen in einer Zeichenfolge mit Regex übereinstimmen?
Ist dies mit PCRE möglich, plain Perl oder Java Regex Aromen?
Mit .NET Regex könnten Sie balancing groups verwenden, um es leicht zu lösen (das könnte ein gutes Beispiel sein). Mit dem normalen Perl-Regex meine ich, dass ich keine Code-Konstrukte wie (??{ ... })
verwende, mit denen man irgendeinen Code ausführen und natürlich alles machen könnte.
Die Zeichenfolge könnte eine beliebige ungerade Nummernlänge haben.
Zum Beispiel in der Zeichenfolge 12345
möchten Sie die 3
, das Zeichen in der Mitte der Zeichenfolge.
Dies ist eine Frage über die Möglichkeiten der modernen Regex-Aromen und nicht über den besten Algorithmus, um das auf andere Weise zu tun.
Perl: Ja. Verwenden von Rekursion oder '/^(. *) (.) (?? {'.' X Länge ($ 1)}) \ z/s' – ikegami
Ist das nicht kontextsensitiv? – Oli
@ikegami, ich denke, ich hätte Perl nicht oder zumindest nicht mit Perl-Code sagen sollen. In diesem Fall können Sie auch eine grundlegende String-Funktion verwenden. – Qtax