我正在使用Python进行拼写检查教程并使用此正则表达式:
import re
def split_line(line):
return re.findall('[A-Za-z]+(?:\`[A-Za-z)+)?',line)
我想知道你是否可以帮助我改变这个功能,所以它会忽略'
,即如果我输入字符串he's
我会得到['he's']
而不是['he','s']
答案 0 :(得分:1)
首先,您需要通过将)
替换为Marcin所提及的]
来修复原始表达式。然后只需将'
添加到允许的字符列表中(通过反斜杠转义):
import re
def split_line(line):
return re.findall('[A-Za-z\']+(?:\`[A-Za-z]+)?',line)
split_line("He's my hero")
#["He's", 'my', 'hero']
当然,这不会考虑撇号位于单词开头或结尾的任何边缘情况。