1
텍스트 파일이 있는데 패턴을 추출하려고합니다. 펄에서, $ 1을 일치와 함께 사용했습니다. What does $1 mean in Perl?펄에서와 같이 R에 패턴 일치 및 캐칭 기능이 있습니까?
R에 비슷한 기능이 있는지 궁금합니다. 여기에 내가 내가하고 싶은 것을
a=readLines('xxx.txt')
"{1:F21CRESUS33XLIQ9590112170}{2:O1030747170228BNPAGB22XCIT95901121701702280629U}{3:{103:GLBH}}{4"
[914] ":20:PK836J9GD2HI7SWQ"
[915] ":23B:CRED"
[916] ":32A:170214USD2154,252"
[917] "50:ABNYUS33XXXX"
[918] "/1Jose Lugo"
[919] "/2931 Corte De Luna"
[920] "/3 Seattle"
[921] "/498104, United States"
[922] "59F:BPAHCUHHXXXX"
[923] "/1 Jossef Goldberg"
[924] "/21220 Bradford Way"
[925] "/3 Seattle"
[926] "/498104, United States"
[927] ":71A:OUR"
[928] "-}"
[929] "{1:L01BARCGB21X05G7115765182}{2:O1030946170226ABBYGB2LXXXX71157651821702261046S}{3:{103:WJHX}}{4"
[930] ":20:YZDSKFJNXV4BE3MP"
[931] ":23B:CRED"
[932] ":32A:170214USD63362,31"
[933] "50:ABBYGB2LXXXX"
[934] "/1Jossef Goldberg"
[935] "/21220 Bradford Way"
[936] "/3 Seattle"
을 의미 샘플 조건을 테스트입니다 특정 문자와 라인 별, 그것은 다른 패턴이 포함되어 있는지 확인하기 위해 라인을 검색하고 $ $를 당기면 그 out (perl에서와 같이). 의사에서
:
pattern1='^{1:'
pattern2='CU'
if (!is.null(line)){
if(grep(pattern1, line)){
if(grep(pattern2,line)){ print(substr(line,a,b), plus some other patters if they match the regex)
}
}
}
나는 또한 내가이 라인을 통해, 내가 \n
와 라인에 합류 제안
어쩌면'x <- paste0 (a, collapse = "\ n")'과 같은 것일 수도 있습니다. 'regmatches (x, gregexpr ("(? sm :^{1. *? CU) :. *) ", x, perl = TRUE))'? –
이것은 정말로 'perl'질문이 아닙니다. 맞습니까? – Sobrique
는 Wiktor를 사용합니다. ? sm :와? s : gregexpr에서 무엇을 의미합니까? 감사합니다. – alex