6
Używam grep w niektórych projektach w R (który używa flagi perl=TRUE
) i za życia mnie nie mogę zrozumieć, dlaczego R wciąż popełnia błędy. Moje zapytanie brzmi następująco:"' w" jest nierozpoznaną ucieczką "w grep
d$SomeColumn[grep("(?ix)<VNW[^;]*;(dis|dat)> \w*<N\(", d$Right, perl=TRUE)] <- 1
Jednak R rzuca się następujący błąd:
Error: '\w' is an unrecognized escape in character string starting ""<VNW[^;]*;(dis|dat)> \w"
Czy próbowałeś: '\\ w'? – anubhava
@anubhava Nie, ale dlaczego to konieczne? Czy to jeszcze nie uciekło? –
Dzieje się tak, ponieważ wyrażenie regularne jest wprowadzane jako ciąg znaków w cudzysłowach. Łańcuch wymaga jednego wyjścia, a silnik wyrażeń regularnych potrzebuje innego wyjścia. na przykład '\\ w' jest przekazywane do silnika wyrażeń regularnych jako' \ w' – anubhava