正则表达式在一些指定的单词后提取日期

时间:2017-10-25 04:18:22

标签: python regex

我想从这些文本中提取出生日期。有四个条件:

Data Source=.\\SQLExpress

这样的字符串:

keywords to match 

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

2 个答案:

答案 0 :(得分: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*) :寻找任何不。连续的非空格字符,这是你想要的日期。

答案 1 :(得分: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个字符
  • [A-Z]:允许A-Z所有字母

我希望它适合你