【问题标题】:how to find maximal matching pattern in data in python如何在python中的数据中找到最大匹配模式
【发布时间】:2019-02-20 10:25:13
【问题描述】:

我在一个名为 file.txt 的文件中有一个格式,其中包含如下行: 婴儿:n:婴儿 苍蝇:n:飞 女士们:n:女士 羊:n:羊 家具:n:家具 行李:n:行李 等等 现在,我只需要提取 f1 和 f3 之间的共同模式,并希望以以下格式编写: 示例:婴儿 在这里,婴儿有共同的模式,直到“bab”和“ies”也被添加到以下单词中。 格式:<e lm="babies"><i>bab</i><par n="bab"/></e>

【问题讨论】:

    标签: python-3.x nlp linguistics


    【解决方案1】:

    你的问题不清楚,如果你能解释清楚就好了。

    但是,我认为您想使用正则表达式(正则表达式)。 这是一个使用正则表达式的好网站:https://regex101.com/

    在python中你可以使用re模块(import re)。

    如果你有像 "babies:n:baby" 这样的字符串,你可以提取与正则表达式的相似性:(\w+).*:n:(\1).* 意思是说: (\w+) - 查找字母字符序列 :n: - 然后找到 :n: (\1) - 然后是我们在第一个 () 中捕获的同一个词

    python 示例:

    一次搜索:

    import re
    
    pattern = r"(\w+).*:n:(\1).*"
    result = re.search(pattern, word)
    return result.group()
    

    对于许多搜索:

    import re
    
    pattern = r"(\w+).*:n:(\1).*"
    result = re.findall(pattern, word)
    return result
    

    【讨论】:

    • 我让问题更清楚了。例如,我有一个这样的范例:baby:n:baby;女士们:n:宝贝;薯条:n:宝贝。我希望 ro 采用以下格式:bab; ladfr 同样,我有多种范式。我想要一个通用规则来找到单词的最大匹配。
    猜你喜欢
    • 1970-01-01
    • 2017-01-21
    • 2010-09-23
    • 2014-11-20
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 2017-10-11
    • 2015-05-29
    相关资源
    最近更新 更多