我试图在开头,中间和/或结尾处获得所有内部至少有1个标点符号(或任何非空格,非字母数字字符)的单词。例如,在这句话中
this is a wo!rd right !and| other| hello |other
正则表达式将返回
wo!rd !and| other| |other
答案 0 :(得分:8)
您可以使用:
>>> sentence = "this is a wo!rd right !and| other| hello |other"
>>> import re
>>> re.findall("\S*[^\w\s]\S*", sentence)
['wo!rd', '!and|', 'other|', '|other']
这将找到包含至少1 non-word, non-space
个字符的所有单词。 \S
与[^\s]
相同。
正则表达式说明:
\S* # Match 0 or more non-space character
[^\w\s] # Match 1 non-space non-word character
\S* # Match 0 or more non-space character