这是什么((\ d \ d \ d)\ s)?正则表达式匹配?
看看这个网站https://regex101.com/r/yS5fU8/2
第一捕获小组(\ d \ d \ d)
和 - \ s匹配任何空格字符(等于[\ r \ n \ t \ f \ v])
\ d匹配数字。这是关于你正在使用的langugae。在python3中,[0-9]仅匹配0123456789个字符,而\ d匹配[0-9]和其他数字字符,例如东方阿拉伯数字0123456789。
\ d匹配[0-9]中的数字。
\ s匹配像[\ t \ n \ r]这样的空白字符
?是指可选的,即使以下正则表达式不存在,它也匹配。
()用于分组。
现在的问题是((\ d \ d \ d)\ s)?比赛? \ d \ d \ d匹配3个连续数字并将它们分组为$ 1。
((\ d \ d \ d)\ s)匹配3连续后跟空格,并将其分组为$ 2。
既然我们有?在正则表达式的末尾,它匹配数字后跟空格,如果没有这样的匹配。
如果没有匹配,则指向该行的开头。