Python 专利中元素列表的正则表达式

Python 专利中元素列表的正则表达式,python,regex,Python,Regex,如果有专利,您如何生成一个正则表达式来过滤描述中的元素列表?元素可通过以下方式识别: 元素前面的“a”或“the” 元素后面的数字 例如,鉴于本段: '图1显示了根据本发明实施例的可调节绳索保持装置的底座10。底座10可包括底座孔16,以允许绳索穿过底座10。底座孔16的形状取决于可调绳索固定装置的预期用途。如果绳索的横截面是圆形的,则底座孔16也可以是圆形的。另一方面,当预期的绳索是横截面为圆形矩形的皮带时,底座孔16也可以是圆形矩形 我想用普通快车吐出来 ['a base 10', 'The

如果有专利,您如何生成一个正则表达式来过滤描述中的元素列表?元素可通过以下方式识别:

  • 元素前面的“a”或“the”
  • 元素后面的数字
  • 例如,鉴于本段:

    '图1显示了根据本发明实施例的可调节绳索保持装置的底座10。底座10可包括底座孔16,以允许绳索穿过底座10。底座孔16的形状取决于可调绳索固定装置的预期用途。如果绳索的横截面是圆形的,则底座孔16也可以是圆形的。另一方面,当预期的绳索是横截面为圆形矩形的皮带时,底座孔16也可以是圆形矩形

    我想用普通快车吐出来

    ['a base 10', 'The base 10', 'a base hole 16', 'the base 10', 'the base hole 16', 'the base hole 16', 'the base hole 16']
    

    您可以使用
    re.findall()

    以下正则表达式:

    r'((?:a|the)((?!(?:\ba\b|\bthe\b)).)*\d+)
    

    将匹配以
    a
    the
    开头并以数字结尾的任何子字符串。但在它们之间
    ((?!(?:\ba\b|\b))*
    将匹配除
    a
    the
    之外的任何词。使用本发明进行长距离比赛,如
    。以10'
    为基数,并使用
    re.I
    标志忽略案例

    您可以使用
    re.findall()

    以下正则表达式:

    r'((?:a|the)((?!(?:\ba\b|\bthe\b)).)*\d+)
    

    将匹配以
    a
    the
    开头并以数字结尾的任何子字符串。但在它们之间
    ((?!(?:\ba\b|\b))*
    将匹配除
    a
    the
    之外的任何词。使用本发明进行长距离比赛,如
    。以10'
    为基数,并使用
    re.I
    标志忽略案例

    为什么不
    a base
    ?正则表达式也会提取正则结果,但您期望的结果不是正则的!!!我的意思是你没有为
    名词指定正确的定义,有时你有一个单词,有时你有两个@卡斯拉:可能是因为
    基孔16
    被相应地修改以定义名词。@albert所以在这种情况下,它不再是正则表达式任务了!为什么不
    a base
    ?正则表达式也会提取正则结果,但您期望的结果不是正则的!!!我的意思是你没有为
    名词指定正确的定义,有时你有一个单词,有时你有两个@卡斯拉:可能是因为
    基孔16
    被相应地修改以定义名词。@albert所以在这种情况下,它不再是正则表达式任务了!谢谢你的帮助。破译这将是有趣的。如果我的输入是
    ,图1示出了便携式消费电子设备(或“移动设备”)的一个实例,其中可以实现本发明的实施例。如图1所示,移动设备1可以是移动电话通信设备或智能手机,例如
    。我的结果是
    (“本发明可以实现。如图1所示”,“移动设备1”)
    遵循您的正则表达式,如果我将
    FIG
    添加到负前瞻中,
    l=re.findall(r'((?:a |)the)((?!(?:\ba\b | \bfig\b))*\d+,description,re.I)
    我将得到一个额外的空结果<代码>>>>打印l[(“移动设备1','')
    @warpandas结果应该是这样的!你期待什么?谢谢你的帮助。破译这将是有趣的。如果我的输入是
    ,图1示出了便携式消费电子设备(或“移动设备”)的一个实例,其中可以实现本发明的实施例。如图1所示,移动设备1可以是移动电话通信设备或智能手机,例如
    。我的结果是
    (“本发明可以实现。如图1所示”,“移动设备1”)
    遵循您的正则表达式,如果我将
    FIG
    添加到负前瞻中,
    l=re.findall(r'((?:a |)the)((?!(?:\ba\b | \bfig\b))*\d+,description,re.I)
    我将得到一个额外的空结果<代码>>>>打印l[(“移动设备1','')
    @warpandas结果应该是这样的!那么你期望什么呢?