擅长:python、mysql、java
<p>下面的代码符合您的3条规则。但我认为你的规则还不够完善。“is”中的字符“i”与规则2匹配,但不应将其大写。在</p>
<pre><code>import re
def uppercase(matchobj):
return matchobj.group(0).upper()
def capitalize(s):
return re.sub('^([a-z])|[\.|\?|\!]\s*([a-z])|\s+([a-z])(?=\.)', uppercase, s)
s = """hey. how are you? the c.i.a. is watching! lol. """
print capitalize(s)
</code></pre>
<p>输出:</p>
^{pr2}$