如果某个字符串没有以s
,x
,ch
,sh
结尾,或者如果它不以元音结尾,那么我需要添加一个'。这适用于告诉和吃,但不适合表演。我无法弄清楚原因。
这是我写的代码:
if not re.match(".*(s|x|ch|sh)",s):
if re.match(".*(a|e|i|o|u)",s):
s = s+'s'
return s
else:
return s
答案 0 :(得分:3)
请改用endswith
。它需要单个字符串或字符串元组,如果字符串具有任何给定参数作为后缀,则返回True
。
cons = ('s', 'x', 'ch', 'sh')
vowels = ('a', 'e', 'i', 'o', 'u')
if not s.endswith(cons + vowels):
s += 's'
return s
答案 1 :(得分:2)
如果您只想匹配字符串的结尾,那么在正则表达式的末尾需要$
。