Python正則匹配

背景:匹配某字段是否含有單個或多個特定關(guān)鍵詞

一、單一匹配

樣例:2476401041436860373259
需求:從上述樣例中,截取0414開頭的字符串,即從0414開始得到最后3259

str_pattern='0414'
m=[]
for i in range(data_set.shape[0]):
    start_point=data_set['old_order_id'][i].find(str_pattern)
    end_point=len(data_set['old_order_id'][i])
    m.append(data_set['old_order_id'][i][start_point:end_point])
    
# 截取后的字段重新賦值給原始的dataframe
data_set['new_orderId']=m
data_set.head()

二、多種匹配

樣例:這是一個天朗氣清的早餐,風和日麗,適合郊游
需求:匹配關(guān)鍵字,早/風和/郊游 or 天亮了/月亮

pattern_v1="早|風和|郊游"
pattern_v1 ="天亮了|月亮"

import re
# type分類
type =[]
for i in range(data_set.shape[0]):
    result_v1=re.findall(pattern_v1, data_set.shape['contents'][i])
    result_v2=re.findall(pattern_v1, data_set.shape['contents'][i])
    if len(result_v1)>0:
        risk_type.append(1)
    elif len(result_v2)>0:
        risk_type.append(2)
    else:
        risk_type.append(0)

# 將結(jié)果重新賦值給原始dataframe
data_set.shape['type']=type
data_set.shape.head(1)

知識點總結(jié):

  1. python正則表達式:re模塊
  2. find函數(shù)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容

  • 使用Python內(nèi)置的re模塊 import re1、常用的匹配規(guī)則 2、re.match函數(shù): 嘗試從字符串的起...
    愛學習的代代閱讀 1,117評論 0 0
  • 正則表達式匹配規(guī)則 Python 的 re 模塊 在 Python 中,我們可以使用內(nèi)置的 re 模塊來使用正則表...
    ztfdeveloper閱讀 345評論 0 0
  • 一、需求 * 提取字典中的【】內(nèi)的字符,生成可以導入到五筆詞庫中的txt文件。 原文件: 生成后的結(jié)果: 實現(xiàn)方式...
    5702c3d2ab8e閱讀 6,045評論 0 0
  • python正則匹配規(guī)則和一個小實例 python正則匹配規(guī)則 正則小栗子 獲取一個頁面的網(wǎng)頁信息 比如我要獲取簡...
    TimeSHU閱讀 380評論 0 0
  • # python 正則匹配中文 >``` #!/usr/bin/env python # -*- coding: ...
    Leo_23閱讀 701評論 0 0