这个RE匹配什么?

时间:2019-10-11 17:11:50

标签: python

"token_pattern": r"(?u)\b\w\w+\b",

问题1):“?u”是否表示unicode?为什么会有问号?

问题2):w +表示要匹配的1个或多个单词。那为什么还需要另一个“ \ w”呢?

1 个答案:

答案 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用于编写和分析正则表达式。