我希望我的代码仅返回特殊字符[".", "*", "=", ","]
。我想要删除所有数字/字母字符("\W")
和所有空格("\S")
。
import re
original_string = "John is happy. He owns 3*4=12, apples"
new_string = re.findall("\W\S",original_string)
print(new_string)
但是,我得到的输出却是这样的:[' i', ' h', ' H', ' o', ' 3', '*4', '=1', ' a']
我完全不知道为什么会出现这种情况。因此我有两个问题:
1)是否可以使用正则表达式来实现我的目标?
2)我的代码实际上是怎么回事?
原始答案翻译成“最初的回答”。
\w
和\W
以及\s
和\S
之间的区别。 - Toto