Wird die Regex \\ L in R 3.5.0 unterstützt?

8

Ich habe Schwierigkeiten mit dem Perl-Ausdruck \L\1 unter sehr speziellen Umständen auf R-dev (2017-06-06 und 2017-06-16 r72796 Builds):

%Vor%

Um zu reproduzieren, ist es notwendig:

  • An readLines aus einer Datei und die Codierung angeben. (Die Verwendung von dput wird nicht reproduziert)
  • Um \L oder \U in der Perl Regex zu verwenden.
  • Um einen Vektor von Zeichen zu verwenden
  • Um ein Element dieses Vektors zu haben, das UTF-8 benötigt (é in Amélie im obigen)

Ist das eine Änderung in R 3.5.0, oder habe ich \L in diesem Fall missbraucht?

    
Hugh 16.06.2017, 14:48
quelle

2 Antworten

0

Ja, es wird unterstützt. Der Patch, der dieses Verhalten korrigiert, wurde in r74274 angewendet.

%Vor%     
Hugh 22.03.2018, 13:15
quelle
9

Es gibt eindeutig ein unerwartetes Verhalten.

Wenn auf Bezug genommen wird, funktioniert es:

%Vor%

Wenn jedoch \U oder \L mit verwendet wird, wird die zweite Rückwärtsreferenz entfernt.

  • "\U\1" : [1] " AUTHOR"
  • "\U\1\E\2" : [1] " AUTHOR"

Eine gsubfn Lösung funktioniert immer noch (hier ein Beispiel mit toupper() ):

%Vor%

Ausgabe:

%Vor%

Meine sessionInfo-Details:

%Vor%     
Wiktor Stribiżew 19.06.2017 13:28
quelle

Tags und Links