1.處理文本數據的日期格式統一化


text = "2015年8月31日,衢州元立金屬制品有限公司倉儲公司(以下簡稱元立倉儲公司)成品倉庫發生一起物體打擊" />

python 正則表達式獲取字符串中所有的日期和時間

 更新時間:2020-01-15 15:59:35   作者:佚名   我要評論(0)

提取日期前的處理
1.處理文本數據的日期格式統一化


text = "2015年8月31日,衢州元立金屬制品有限公司倉儲公司(以下簡稱元立倉儲公司)成品倉庫發生一起物體打擊

提取日期前的處理

1.處理文本數據的日期格式統一化

text = "2015年8月31日,衢州元立金屬制品有限公司倉儲公司(以下簡稱元立倉儲公司)成品倉庫發生一起物體打擊事故,造成直接經濟損失95萬元。"
text1 = "2015/12/28下達行政處罰決定書"
text2 = "2015年8月發生一起物體打擊事故"
# 對文本處理一下 # 2015-8-31  2015-12-28
text = text.replace("年", "-").replace("月", "-").replace("日", " ").replace("/", "-").strip()

2.提取時間的正則表達式

# 2019年10月27日 9:46:21
"(\d{4}-\d{1,2}-\d{1,2} \d{1,2}:\d{1,2}:\d{1,2})"
# 2019年10月27日 9:46"
"(\d{4}-\d{1,2}-\d{1,2})"
# 2019年10月27日
"(\d{4}-\d{1,2}-\d{1,2})"
# 2019年10月
"(\d{4}-\d{1,2})"

3.對其進行封裝

def get_strtime(text):
 text = text.replace("年", "-").replace("月", "-").replace("日", " ").replace("/", "-").strip()
 text = re.sub("\s+", " ", text)
 t = ""
 regex_list = [
 # 2013年8月15日 22:46:21
    "(\d{4}-\d{1,2}-\d{1,2} \d{1,2}:\d{1,2}:\d{1,2})",
    # "2013年8月15日 22:46"
    "(\d{4}-\d{1,2}-\d{1,2} \d{1,2}:\d{1,2})",
    # "2014年5月11日"
    "(\d{4}-\d{1,2}-\d{1,2})",
    # "2014年5月"
    "(\d{4}-\d{1,2})",
 ]
 for regex in regex_list:
 t = re.search(regex, text)
 if t:
  t = t.group(1)
  return t
 else:
 print("沒有獲取到有效日期")
 
 return t

ps:下面看下python提取字符串中日期

import re
#刪除字符串中的中文字符
def subChar(str):
  match=re.compile(u'[\u4e00-\u9fa5]')
  return match.sub('',str)
 
#提取日期
def extractDate(str):
  if not str:
    return None
  raw=subChar(str)
  if not raw:
    return None
  #提取前10位字符
  rawdate=raw[:10]
  datelist=re.findall("\d+",rawdate)
  if not datelist:
    return None
  if datelist.__len__()==3:
    if (float(datelist[0])>2099 or float(datelist[0])<1900) or float(datelist[1])>12 or float(datelist[2])>31:
      return None
    else:
      return '-'.join(datelist)
  if datelist.__len__()==2:
    if (float(datelist[0])>2099 or float(datelist[0])<1900) or float(datelist[1])>12:
      return None
    else:
      datelist.append('01')
      return '-'.join(datelist)
  if datelist.__len__()==1:
    if float(datelist[0])>20991231 or float(datelist[0])<19000101:
      return None
    else:
      return datelist[0]
  return None

總結

以上所述是小編給大家介紹的python 正則表達式獲取字符串中所有的日期和時間,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

您可能感興趣的文章:

  • python 如何去除字符串頭尾的多余符號
  • python字符串的拼接方法總結
  • python 怎樣將dataframe中的字符串日期轉化為日期的方法
  • python字符串替換re.sub()方法解析
  • Python字符串中添加、插入特定字符的方法
  • 使用Python將字符串轉換為格式化的日期時間字符串
  • 詳細整理python 字符串(str)與列表(list)以及數組(array)之間的轉換方法
  • Python如何使用字符打印照片

相關文章

  • python 正則表達式獲取字符串中所有的日期和時間

    python 正則表達式獲取字符串中所有的日期和時間

    提取日期前的處理 1.處理文本數據的日期格式統一化 text = "2015年8月31日,衢州元立金屬制品有限公司倉儲公司(以下簡稱元立倉儲公司)成品倉庫發生一起物體打擊
    2020-01-15
  • JSP+Servlet實現文件上傳到服務器功能

    JSP+Servlet實現文件上傳到服務器功能

    本文實例為大家分享了JSP+Servlet實現文件上傳到服務器功能的具體代碼,供大家參考,具體內容如下 項目目錄結構大致如下: 正如我在上圖紅線畫的三個東西:Dao、
    2020-01-15
  • 正則表達式(RegExp)判斷文本框中是否包含特殊符號

    正則表達式(RegExp)判斷文本框中是否包含特殊符號

    前言 有時,我們希望判斷文本框中用戶輸入的字符是否含有特殊符號(*/#[email protected]),就像用戶注冊時密碼框的填寫。 demo 利用 RegExp 對象,能很優雅的實現以上需求: // e
    2020-01-15
  • JSP實現分頁效果

    JSP實現分頁效果

    本文實例為大家分享了JSP實現分頁的具體代碼,供大家參考,具體內容如下 咱們在瀏覽網頁的時候,當一個頁面的數據不足以展示完全所有的內容,一般都涉及到分頁,下一
    2020-01-15
  • JS正則(RegExp)判斷文本框中是否包含特殊符號

    JS正則(RegExp)判斷文本框中是否包含特殊符號

    前言 有時,我們希望判斷文本框中用戶輸入的字符是否含有特殊符號(*/#[email protected]),就像用戶注冊時密碼框的填寫。 demo 利用 RegExp 對象,能很優雅的實現以上需求: // e
    2020-01-15
  • UNIX/LINUX SHELL 正則表達式語法詳解附使用方法

    UNIX/LINUX SHELL 正則表達式語法詳解附使用方法

    幾乎所有重要問題都需要從無用數據中過濾出有用數據。了解大量的 UNIX&#63; 命令行實用工具如何使用正則表達式 來去蕪取精。 非常奇怪,直到今天我仍然能重復周六
    2020-01-15
  • jsp filter 過濾器功能與簡單用法示例

    jsp filter 過濾器功能與簡單用法示例

    本文實例講述了jsp filter 過濾器功能與簡單用法。分享給大家供大家參考,具體如下: 過濾器的作用是什么&#63; 過濾器可以動態地攔截請求和響應,以變換或使用包含在
    2020-01-15
  • jsp 實現的簡易mvc模式示例

    jsp 實現的簡易mvc模式示例

    本文實例講述了jsp 實現的簡易mvc模式。分享給大家供大家參考,具體如下: jsp : java servlet page MVC全名是Model View Controller,是模型(model)-視圖(view)-
    2020-01-15
  • 解決正則表示式匹配($regex)引起的一次mongo數據庫cpu占用率高的問題

    解決正則表示式匹配($regex)引起的一次mongo數據庫cpu占用率高的問題

    某一天,監控到mongo數據庫cpu使用率高了很多,查了一下,發現是下面這種語句引起的: db.example_collection.find({ "idField" : { "$regex" : "1234567890123
    2020-01-15
  • 愛站因侵權問題 被迫關閉

    愛站因侵權問題 被迫關閉

    2020年1月9日知名站長工具愛站網出現了“網站維護中,請稍后訪問”,初始很多網友都以為是愛站網臨時升級系統導致的,截止今天(2020年1月12日)還沒有恢復,目前愛站網官方
    2020-01-13

最新評論

买宝宝用品赚钱吗