【问题标题】:Regular expression to match "verb" but not the "verb" in "adverb" [duplicate]正则表达式匹配“动词”但不匹配“副词”中的“动词”[重复]
【发布时间】:2019-02-01 03:44:43
【问题描述】:

如何在 Python 3 中指定一个正则表达式,使其仅匹配包含它的单词之外出现的单词“verb”?

例如在句子中:“The man ADVERB VERB and VERB until he is ready。”

正则表达式将匹配纯单词“VERB”的两次出现,但不匹配单词“ADVERB”中出现的“VERB”。

【问题讨论】:

    标签: python regex python-3.x


    【解决方案1】:

    您可以使用元转义序列\b 作为单词边界:

    re.findall(r'\bVERB\b', "The man ADVERB VERB and VERB until he was ready.")
    

    无需使用环视,因为\b 匹配单词字符和非单词字符之间的邻接(不是任何实际字符,即零宽度)。

    您可以在此处阅读有关 \b 元字符的更多信息:https://www.regular-expressions.info/wordboundaries.html

    【讨论】:

    • 谢谢,我不知道这是一回事,我只了解了\s、\d、\w、\S、\S、\W,所以我试图提出与这些解决方法。抱歉这个愚蠢的问题!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-04
    • 1970-01-01
    • 2016-03-17
    • 1970-01-01
    • 2016-12-06
    • 1970-01-01
    相关资源
    最近更新 更多