我是Python新手,我正在关注Google python类。在基本练习中,string2.py,E.not_bad,我知道使用字符串方法的解决方案,但我试图使用正则表达式。
电子。 not_bad给定一个字符串,找到子字符串的第一个外观' not'并且'糟糕'如果“坏”'遵循' not',替换整个' not' ...' bad'带有“好”的子串。返回结果字符串。所以'这顿晚餐不是那么糟糕!'产量:这顿晚餐很棒!
这是我尝试的内容:
notBad = re.compile('not' + r'.*' + 'bad')
>>> notBad.findall('my english is not so bad')
['not so bad']
>>> notBad.findall('my english is not that bad')
['not that bad']
>>> notBad.findall('my english is not that bad and not so bad and not very bad')
['not that bad and not so bad and not very bad']
预期结果必须是在第一个"坏"停止的匹配。它找到了。我试图添加"?" "坏"之后的符号但它返回了无效的语法。 有人可以帮帮我吗?