有一个段落,我想使用正则表达式提取其中的所有单词。
a bdag agasg it's the cookies for dogs',don't you think so? the word 'wow' in english means.you hey b 097 dag final
我用re.findall(regX,str)尝试了几种正则表达式,发现其中一个可以匹配大多数单词。
regX = "[ ,\.\?]?([a-z]+'?[a-z]?)[ ,\.\?]?"
[“ a”,“ bdag”,“ agasg”,“它的”,“ the”,“ cookies”,“ for”,“ dogs”,“ do n't”,“ you”,“ think” ,“ so”,“ the”,“ word”,“ 哇” ”,“ in”,“ english”,“ means”,“ you”,“ hey”,“ b”,“ dag”,“最终”]
除**wow'**
外,其他所有产品都不错。
我想知道正则表达式是否可以解释逻辑“它可以是逗号/空格/句号/等,但不能是撇号”。
有人可以建议吗?
答案 0 :(得分:0)
尝试:
[ ,\.\?']?([a-z]*('\w)?)[\' ,\.\?]?
添加了另一个组,因此您只需选择组1。
答案 1 :(得分:0)
我不完全了解您想要的输出是什么,但是, 试试这个:
[ ,\.\?]?(["-']?+[a-z]+["-']?[a-z]?)[ ,\.\?]?
使用此正则表达式可让您在文本中获得'
和"
。
如果这仍然不是您想要的,请告诉我,以便我更新我的答案。