【发布时间】:2021-05-31 15:22:09
【问题描述】:
我正在为文本段落使用正则表达式标记器,并且我想提取在此之前和之后只有空格的所有单词。这是我的代码:
tokenizer = RegexpTokenizer('[0-9a-z][^\s\']*[a-z]')
例如,“我们没有 500 美元”这句话最终会变成“我们没有美元”。我想消除“don”,因为它不以空格结尾。我该怎么做?
【问题讨论】:
-
使用前瞻断言:
r'[0-9a-z]*?= '。结果应该是“我们有 500 个”。 "dollars" 不匹配,因为它后面没有空格。 -
@TimRoberts 这看起来像是一个错字。你的意思可能是
r'[0-9a-z]*?(?=\s)' -
大概你在问 NLTK?我添加了nltk 标签,但请查看。
-
同意,应该更多地说明上下文。同意海报可能意味着 nltk
-
我很抱歉。匹配可以在没有空格(例如句号)的情况下结束。但是,我不希望比赛以撇号“'”结束。我也需要比赛以空白开头。所以这意味着我绝对想以“我们有美元”结束。我想知道以下代码是否有效: tokenizer = RegexpTokenizer('(?
标签: python regex nltk tokenize