2014-10-21 5 views
3

저는 R에 익숙하지 않습니다. 정규 표현식을 만드는 개념을 배우고있었습니다.정규 표현식을 만들고 사용하는 중

즉, "(\\2.\\3)"과 같습니다. 이게 뭐야? 내 말은,이 숫자와 표기법은 무엇을 의미합니까? 아무도 이것이 평범한 언어로 무엇을 의미하는지 설명 할 수 있습니까? 또는 이것과 같은 것, (\2.\4)(\2.\4), 그것은 무엇을 의미합니까? 어떤 도움을 주셔서 감사합니다!

답변

3

캡쳐 그룹과 일치하는 것을 불러내는 backreferences입니다. capturing group은 괄호 안에 그룹화 할 문자를 배치하여 만들 수 있습니다 (()). 역 참조는 R의 백 슬래시 (\), 두 개의 백 슬래시 (\\)로 지정됩니다. 그룹 번호이 리콜 대상임을 나타내는 숫자 이 계속됩니다. 점과 함께 여분의 개폐 괄호 리터럴있다 : 이하

x <- 'foo bar baz quz' 
sub('(\\S+) (\\S+) (\\S+) (\\S+)', '(\\2.\\3)', x) 
# [1] "(bar.baz)" 

주 ... 기 #2#3 캡처 일치 있었던 것을 기억하는 역 참조하여 대체 예는 문자.

관련 문제