回覆列表
  • 1 # 使用者5329335765427

    1. 首先 p.search(s) 只會找第一個匹配的字串

    2. 其次 p.findall(s) 會記錄匹配的組,而(19|20) 代表一個組,應該改成(?:19|20)

    以下程式碼可以滿足你的要求:

    # -*- coding: utf-8 -*-

    from __future__ import print_function, division

    import re

    s = "ID: 042 SEX: M DOB: 1967-08-17 Status: Active 1968"

    p = re.compile(r"(?:19|20)\d{2}")

    #s = "ID: 042 SEX: M DOB: 1967-08-17 Status: Active 1968"

    all_items = re.findall(p,s)

    map(print, all_items)

    print(all_items)

  • 中秋節和大豐收的關聯?
  • 500ml酒相當於1斤酒嗎?