gpt4 book ai didi

python - 对Python中的反斜杠感到困惑

转载 作者:行者123 更新时间:2023-11-30 22:33:00 24 4
gpt4 key购买 nike

我知道要匹配文字反斜杠,必须在正则表达式中对其进行转义。对于原始字符串表示法,这意味着 r"\\"。如果没有原始字符串表示法,则必须使用 "\\\\"

当我看到代码string = re.sub(r"[^A-Za-z0-9(),!?\'\`]", "", string),我想知道 \'\` 中反斜杠的含义,因为它也可以很好地用作 '`,如 string = re.sub(r"[^A-Za-z0-9(),!?'`]", "", string)。这里需要加反斜杠吗?

我在 Python 中尝试了一些示例:

  1. str1 = "\'s"
    print(str1)
    str2 = "'s"
    print(str2)

    结果与的结果相同。我认为这可能就是为什么在之前的代码中,他们在 string = re.sub(r"[^A-Za-z0-9(),! ?\'\`]", "", 字符串)。我想知道 "\'s""'s" 之间有什么区别吗?

  2. string = 'adequately describe co-writer/director peter jackson\'s expanded vision of j . r . r . tolkien\'s middle-earth .'
    re.match(r"\\", string)

    re.match 没有返回任何内容,这表明字符串中没有反斜杠。但是,我确实在其中看到了反斜杠。 \' 中的反斜杠实际上不是反斜杠吗?

最佳答案

在 python 中,这些是转义字符,因为除了屏幕上显示的含义之外,它们还可以对代码有其他含义(例如,可以通过将字符串括在单引号中来生成字符串)。您可以看到所有 python 字符串文字 here ,但在该字符串中找不到反斜杠的原因是它们被视为转义单引号。虽然不是必需的,但它仍然是有效的语法,因为有时需要它

关于python - 对Python中的反斜杠感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45288407/

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