此代码段未显示“蝙蝠”,而且“饮食”在最后显示为“饮食”吗? 当我不使用'[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']
答案 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
将匹配:fat
,oat
,rat
,cat
,eat
。