gpt4 book ai didi

python - 如何在 Python 中填充除 ==、!=、>=、<= 之外的所有等号?

转载 作者:行者123 更新时间:2023-11-28 20:55:37 25 4
gpt4 key购买 nike

如果我做一个简单的:

str.replace('=', ' = ')

它将填充所有等号。但是我想离开== , != , >= , <= , += , -= , /= , *=完好无损。

最佳答案

这是使用 re.sub 的一种方法:

re.sub(r'(?<![=!<>+-\/\*])(\=)(?![=!<>+-\/\*])', ' = ', s)

例子:

import re
s = 'a=d==a!=s=as<=s 5-=10 5=+4=!a'
re.sub(r'(?<![=!<>+-\/\*])(\=)(?![=!<>+-\/\*])', ' = ', s)
# 'a = d==a!=s = as<=s 5-=10 5=+4=!a'

分割:

(?+-/*])(\=)(?![=!<>+-/*])

  • 负面回顾 (?<![=!<>+-\/\*])
    • 断言下面的正则表达式不匹配
    • =!<>匹配列表中的单个字符 =!<> (区分大小写)
    • +-\/ + 范围内的单个字符(索引 43)和 / (索引 47)(区分大小写)
    • \*按字面匹配字符 *(区分大小写)
  • 第一捕获组 (\=)
    • \=匹配字符 = literally(区分大小写)
  • 负前瞻 (?![=!<>+-\/\*])
    • 断言下面的正则表达式不匹配
    • 匹配下面列表中的单个字符 [=!<>+-\/\*]
    • =!<>匹配列表中的单个字符 =!<> (区分大小写)
    • +-\/ +(索引 43)和/(索引 47)之间的单个字符(区分大小写)
    • \*按字面匹配字符 *(区分大小写)

关于python - 如何在 Python 中填充除 ==、!=、>=、<= 之外的所有等号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56257915/

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