gpt4 book ai didi

python - 在 Python 中组合正则表达式 -\W 和\S

转载 作者:太空宇宙 更新时间:2023-11-03 13:25:42 25 4
gpt4 key购买 nike

我希望我的代码只返回特殊字符 [".", "*", "=", ","]我想删除所有数字/字母字符 ("\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) 我的代码到底发生了什么?

最佳答案

你很接近,但你需要在字符类中指定这些转义序列。

re.findall(r'[^\w\s]', original_string)
# ['.', '*', '=', ',']

请注意,插入符号 ^ 表示否定(即,匹配这些字符)。

或者,与其删除您不需要的内容,不如提取您需要的内容?

re.findall(r'[.*=,]', original_string)
# ['.', '*', '=', ',']

关于python - 在 Python 中组合正则表达式 -\W 和\S,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56209963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com