2017-10-25 12 views
-2

私はこれらのテキストから生年月日を抽出したいと思います。特定の単語の後に日付を抽出する正規表現

keywords to match 

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

そのような文字列:4つの条件があります

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

の作品を願っては、あなたは必ず目を作るあなたが試した任意のコードを示すことになっていますあなたは何かを試してみたところです。 –

答えて

0

あなたはこのようにそれを行うことができます。

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

あなたのグループ2は、任意の形式でキャプチャされた日付が含まれています。

ライブデモhere

説明

  • (Date of Birth|date of birth|D.O.B|DOB):DOBフレーズの選択肢のいずれかを探します。
  • :\s:コロンとスペース文字を探します。
  • (\S*):あなたが望む日付である連続した非空白文字の数。 D \
+0

OP tagged python、javascript –

+0

これはpython用ではない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}) 
  • :長さ、すなわち最小1又は最大2つの文字
  • [AZ]:すべての数字、すなわち[0-9]
  • {1,2}を表し、AZ全ての可能アルファベット

私はそれが[SO]であなた

+0

OPは指定された_key words_の後に日付だけが必要なので、OPでは機能しません。 –

+0

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

+0

これで、日付の有効な正規表現ではないことがわかりました。 –

関連する問題