zoukankan      html  css  js  c++  java
  • 正则表达式匹配某几个字前面的字符并且删除

    大概的需求就是,希望把start中这些字符串前面的字删除,比如就希望删除y中的‘

    倪瓒(西元一三0一-一三七四年),江苏无锡人

    ’这句话

    就是先match匹配一下,然后sub置空一下:

    .*表示匹配大于等于0个任意字符串

    | 表示或,这里用或符号把列表转字符串了

    ?=表示前瞻,可以看https://blog.csdn.net/csm0912/article/details/81206848

    y='倪瓒(西元一三0一-一三七四年),江苏无锡人画卷。字元镇,号云林、迂翁。家境富饶,建清閟阁,收藏古书画,但个性孤高有洁癖,四十歲以后便棄家外出,过著漂泊的生活。倪瓒作画不喜用色彩,別有一种清淡雅逸的韻味。画修竹二竿,和枯木立於拳石畔,笔墨简率,不但竹叶本身深浅有致,和枯木、拳石间,也有浓淡之別。'
    start = ('本幅', '此帖', '此长卷', '画上', '画卷', '此题', '此卷', '图绘', '此作', '画幅', '此札', '此小轴', '此长卷', '画中', '画面', '此为',
                 '此冊', '此画冊', '本卷', '此幅', '此帧', '本画', '此像', '本件', '这套', '这是', '此页', '是册', '是图', '本图', '此碑', '本册', '此画')
    
    if re.match(r".*(?=("+'|'.join(start)+r"))", str(y))!= None:
         print('y',y)
         temp_in = re.sub(r".*(?=("+'|'.join(start)+r"))", "", str(y))
         print('temp_in',temp_in)
    print(re.match(r".*(?=("+'|'.join(start)+r"))", str(y))== None)
  • 相关阅读:
    LOJ3160 「NOI2019」斗主地
    常系数齐次线性递推
    最小树形图——朱刘算法学习小记
    Linux系统分区(一)
    Linux系统启动过程(二)
    Linux系统目录结构(三)
    cross_val_score
    sklearn.pipeline.Pileline
    DBSCAN密度聚类算法
    特征选择
  • 原文地址:https://www.cnblogs.com/liuxiangyan/p/14688462.html
Copyright © 2011-2022 走看看