zoukankan      html  css  js  c++  java
  • Python笔记26----正则表达式匹配

    1、语法:

    2、题目1:数据类型:

    如果要选择 time 为2014-12-18那天的数据:采用正则化来处理

      代码:

     
    import re
    regex = re.compile(r'^2014-12-18+ /d+$')
    def datefun(data):
        if re.match(regex,data['time']):
            date,time = data['time'].split(' ')
            return date
        else:
            return None
    
    data['time'] = data.apply(datefun,axis = 1)
    data = data[(data['time'] == '2014-12-18')]

     3、合法字母或数字,只要是大小写字母和数字就合法

    import re
    ss = 'abc13AD'
    if re.search('^[0-9a-zA-Z]+$',ss):
        return True    
        

     4、pandas dataframe/series 正则表达式使用 str.match str.contains str.extract

    (series)topquery_data['sentence'] 满足 开头为字母,然后为: ,接着是任何字符,接着还是:,最后为任何字符,如:

    sport::程菲 体操

    social:ssocial_车祸违驾:闯红灯 女司机 广州

    health::野草 农民

    选出之后按冒号切分,将最后的值付给原来的topquery_data['sentence'] ,即

    程菲 体操

    闯红灯 女司机 广州

    野草 农民

    取代原来的值

    def split_function(string):
        return string.split(':')[-1]
    pattern = '^[a-zA-Z]+:+[a-zA-Z:]+[]*+:[sS]*' topquery_data['sentence'].loc[topquery_data['sentence'].str.contains(pattern)] = topquery_data[topquery_data['sentence'].str.contains(pattern)]['sentence'].apply(split_function)
  • 相关阅读:
    csu1217: 奇数个的那个数
    小试SAS 判别分析
    bfs poj2965
    STL set常用操作
    csu1002 A+B(III)
    HDOJ 1002 的几种方法
    SQL知识积累
    CSV文件格式介绍
    ASP.net Web Form 知识积累
    C# 位域[flags] 枚举
  • 原文地址:https://www.cnblogs.com/Lee-yl/p/9696058.html
Copyright © 2011-2022 走看看