(이것이 R 프로그래밍이다)
다음 샘플 질문을 참조할 수 있습니다.
dates <- c("12/15/10", "12-2012", "12.2014", "1995")
grep(pattern = "^[0-9]+.+[0-9]$", x = dates)
도움을 주셔서 미리 감사드립니다! !
답변1
이것암호이 질문은 어떤 언어로 쓰여 있는지 모르기 때문에 의미가 없습니다.
정규식은 ^[0-9]+.+[0-9]$
줄 시작 부분의 하나 이상의 숫자, 그 뒤에 하나 이상의 다른 문자(숫자 포함 가능) 및 줄 끝의 마지막 숫자와 일치하는 POSIX 확장 정규식입니다.
표현식의 구성 요소는 다음과 같습니다.
^
, 표현식을 줄의 시작 부분에 고정합니다.[0-9]+
는 집합에 있는 하나 이상의 문자(0-9
숫자)와 일치합니다..+
, 모든 유형의 문자 중 하나 이상과 일치합니다.[0-9]
, 이는 단일 숫자와 일치합니다.$
, 표현식을 줄 끝에 고정합니다.
이 표현식과 일치하는 가장 짧은 줄의 예:
1a1
질문 코드에서 본 날짜의 모든 예는 추가로 표현식과 일치합니다. 다음은 표현식의 어느 부분이 sed
문자열의 어느 부분과 일치(사용)하는지 보여줍니다.
$ printf '%s\n' "12/15/10" "12-2012" "12.2014" "1995" | sed -E 's/^([0-9]+)(.+)([0-9])$/(\1)(\2)(\3)/'
(12)(/15/1)(0)
(12)(-201)(2)
(12)(.201)(4)
(19)(9)(5)