关键字“ force”的用途是什么,并且此代码段未显示“ bats”

时间:2019-07-27 12:50:22

标签: python regex

此代码段未显示“蝙蝠”,而且“饮食”在最后显示为“饮食”吗? 当我不使用'[force]'7'at'时显示? “力”的用途是什么?

t="A fat cat doesn't eat oat but a rat eats bats."
mo = re.findall("[force]at", t)
print(mo)
['fat', 'cat', 'eat', 'oat', 'rat', 'eat']

3 个答案:

答案 0 :(得分:0)

您可以使用:

done

输出:

import re
t="A fat cat doesn't eat oat but a rat eats bats."
mo = re.findall("\w*at\w*", t)
print(mo)

['fat', 'cat', 'eat', 'oat', 'rat', 'eats', 'bats'] 匹配任何单词字符(等于[a-zA-Z0-9 _])

\w*-在零次和无限制次数之间进行匹配,并进行尽可能多的匹配,并根据需要返回(贪婪)

  

[力量]

     

匹配[force]强制下面列表中存在的单个字符   与列表中的单个字符匹配(区分大小写)   字面上匹配字符(区分大小写)

答案 1 :(得分:0)

使用正则表达式here。在那里,您对使用的整个正则表达式都有一个解释。即将其与[fc]at进行比较以了解它。

答案 2 :(得分:0)

re module docs是您可以找到Python正则表达式解释的地方之一,在您的情况下-[force]at的相关部分是[]

  

用于指示一组字符。在一组中:

Characters can be listed individually, e.g. [amk] will match 'a', 'm', or 'k'.

因此,[force]at将匹配:fatoatratcateat