2017-10-25 1 views
-2

이 텍스트에서 생년월일을 추출하고 싶습니다. 그런정규식 일부 단어 다음에 날짜를 추출합니다

keywords to match 

    Date of Birth 
    date of birth: 
    D.O.B: 
    DOB: 

문자열 :

text = "my name is adam my DOB: 30-11-1988 and i play football since 20-2011" 
text = "my name is D.O.B: 20/MAY/1987 and i play football since 20-2011" 
text = "my Date of Birth 12-7-1970 and i start study since 20-2011" 
text = "my date of birth: 20/9/1970 " 
+1

[SO], 당신은 확실히 일을하게 당신이 시도한 코드를 보여로되어있다 처음부터 뭔가를 시도했습니다. –

답변

0

당신은 이런 식으로 작업을 수행 할 수 있습니다

regex = r'(Date of Birth|date of birth|D.O.B|DOB):\s(\S*)' 

그룹이 어떤 형식으로 캡처 된 날짜를 포함 할 네 가지 조건이 있습니다.

라이브 데모 here

설명

  • (Date of Birth|date of birth|D.O.B|DOB) 다음 DOB 문구의 대안 중 하나를 찾습니다.
  • :\s : 공백 문자 다음에 콜론을 찾습니다.
  • (\S*) : 아니요. 연속 된 공백 문자가 필요합니다.
+0

OP 태그가 달린 파이썬이 아닌 자바 스크립트 –

+0

이것은 파이썬을위한 것입니다. javascript –

+0

이전에 말한 것은 python_에 대한 것이었지만 지금은 /g(JS에서 글로벌 플래그)와 다른 JS 정규식은 어디로 갔습니까? –

0
(DOB: \d{1,2}-\d{1,2}-\d{1,4}|D.O.B: \d{1,2}\/[A-Z]{1,}\/\d{1,4}|Date of Birth \d{1,2}-\d{1,2}-\d{1,4}|date of birth: \d{1,2}\/\d{1,2}\/\d{1,4}) 
  • \ D : 나타내는 모든 숫자 예 [0-9]
  • {1,2}의 길이, 즉 최소 1 또는 최대 2 개 문자
  • [AZ] : 모든 허용 AZ

알파벳 나는 그것이 작동하는 희망에 대한 당신

에서
+0

OP는 지정된 _key words_ 다음에 날짜 만 있기 때문에 OP에는 사용할 수 없습니다. –

+0

(예 : https://regex101.com/r/b4bhmM/1) –

+0

죄송합니다. 지금은 날짜에 대해 유효한 정규식이 아닙니다. –