我在Stack Overflow上提到了与此相关的一些帖子。 但是我并没有真正找到一种令人信服的方法。
根据一个单词(输入到函数中)是包含0个还是1个(或更多)星,我将如何拥有一个返回True或False的函数。
我尝试过这样的事情:
def ANY_CHAR_IS_star(word):
return bool(re.match(r"^[*]?", word))
但是对于错误的情况也是如此。 不知道哪里出了问题。老实说正则表达式有点弱
答案 0 :(得分:6)
最Python化的方式是
return '*' in word
答案 1 :(得分:0)
您要查找的正则表达式可能就是这个r".*[*].*"
正如Matan已经提到的那样,人们通常使用in
关键字来验证一个字符串是否是另一个字符串的子字符串。
答案 2 :(得分:0)
如果您要检查字符串中的一个字符并计算该字符的出现满足条件,则这里是代码
from collections import defaultdict
def defv():
return 0
def func(string):
dic = defaultdict(defv)
for i in string :
dic[i]+=1
return dic
word = 'abcdef**abs**'
data = func(word)
# check * is in word and haveing count say x then
check='*' # checking caracter
count=2
try :
if data[check]>count:
print('True',data[check]) # printing the number of occurence of that charater
else:
print('False')
except KeyError:
print('character is not in the string.')