"token_pattern": r"(?u)\b\w\w+\b",
问题1):“?u”是否表示unicode?为什么会有问号?
问题2):w +表示要匹配的1个或多个单词。那为什么还需要另一个“ \ w”呢?
答案 0 :(得分:0)
问题1:是正确的,它代表“ Unicode”。 (?_)
表示法是使用正则表达式标志的一种方法。这等效于re.compile(r'\b\w\w+\b', re.UNICODE)
。
问题2:正如@verandaguy在评论中指出的那样,这将确保比赛中至少有2个单词字符。 \w{2,}
等同于\w\w+
。不过,我没有任何理由使用后者,除非您想单独捕获第一个字符。我想\w\w+
实际上比\w{2,}
少一个字符,但是它不那么优雅,而且使imo更加混乱。
Here's a helpful resource用于编写和分析正则表达式。