首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >REGEX -范围间的提取,同时忽略特定的单词(python)

REGEX -范围间的提取,同时忽略特定的单词(python)
EN

Stack Overflow用户
提问于 2022-05-10 07:58:18
回答 2查看 46关注 0票数 0

我需要提取满足多种场景的车辆类的值,因此尝试在范围类和日期之间进行提取,但是对于很少的样本数据,需要忽略不必要的值(如holder和tolder )。我也试过,但不能排除这些词。

尝试过Regex:

  1. (?<=Class\s)A(-|\s|)*(?=Date|TOLDER)
  2. (?<=Class\s)A(-|\s|)*(?=Date)

样本数据1:车辆类别LMV MCWG发布日期

样本数据2:车辆类别MCWG发布日期

样本数据3:车辆类别LMV MCWG发布日期

样本数据4:车辆类别LMV MCWOG TOLDER签发日期

样本数据5:车辆类别MCWG LMV LMV-GV PSVBUS发布日期

样本资料6:车辆类别LMY MCWG持有人签发日期

预期输出:类和日期之间的值(例如:在样本数据1: LMV MCWG中,在样本数据6: LMY MCWG中,它应该忽略HOLDER签名)

EN

回答 2

Stack Overflow用户

发布于 2022-05-10 09:20:55

您可以使用模式(MC[A-Z]+).*(LM[A-Z]+)|(LM[A-Z]+).*(MC[A-Z]+)

请参阅https://regex101.com/r/08lN88/1

票数 0
EN

Stack Overflow用户

发布于 2022-05-10 09:41:24

您可以使用字符类匹配HOLDER或TOLDER。您可以在捕获组中捕获您想要的数据,而不是查找。

在字符类中,您使用的是\s,它也匹配一个空格,如果要匹配管道字符,可以使用单个| (注意,它在字符类中并不意味着OR )。

若要防止部分单词匹配,可以添加单词边界\b

代码语言:javascript
复制
\bClass\s([a-zA-Z(|)\s-]*?)\s*(?:Date|[HT]OLDER)\b

看一个regex演示

代码语言:javascript
复制
import re

pattern = r"\bClass\s([a-zA-Z(|)\s-]*?)\s*(?:Date|[HT]OLDER)\b"

s = ("sample data 1 :\n"
            "Vehicle Class\n"
            "LMV\n"
            "MCWG\n"
            "Date of Issue\n\n"
            "sample data 2 :\n"
            "Vehicle Class MCWG\n"
            "Date of issue\n\n\n"
            "sample data 3 : \n"
            "Vehicle Class LMV MCWG\n"
            "Date of issue\n\n"
            "sample data 4 :\n"
            "Vehicle Class LMV MCWOG\n"
            "TOLDER SIGNATURE\n"
            "Date of Issue \n\n"
            "sample data 5 :\n"
            "Vehicle Class MCWG LMV LMV-GV PSVBUS\n"
            "Date of issue\n\n"
            "sample data 6 :\n"
            "Vehicle Class LMY MCWG\n"
            "HOLDER SIGNATURE\n"
            "Date of Issue ")

print(re.findall(pattern, s))

输出

代码语言:javascript
复制
['LMV\nMCWG', 'MCWG', 'LMV MCWG', 'LMV MCWOG', 'MCWG LMV LMV-GV PSVBUS', 'LMY MCWG']
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72182627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档