gpt4 book ai didi

python - 如何在Python中使用群补?

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

我正在Python中寻找类似r"[^\1]"的东西。例如,我想在文本中匹配诸如 “hello” 之类的单词,其中每个字母都已被替换(例如:“a”被“z”替换) ”,“b”由“r”,...)。 “hello”可以是“zcuuj”“prvva”,...我想对Python说:“给我找一个以[a-z开头的单词],然后是一个与第一个不同的字母,然后是相同的两个字母,然后是一个与其他字母不同的字母。

我尝试过这种模式:

r"([a-z])([^\1])([^\1\2]){2}([^\1\2\3])"

(不起作用)

这个:

r"([a-z])((?!\1))((?!\1|\2)){2}((?!\1|\2|\3])"

(不起作用)

最佳答案

在这里试试这个

^([a-z])(?!\1)([a-z])(?!(?:\1|\2))(([a-z])\4)(?!(?:\1|\2|\4))[a-z]

我在线测试过here on rubular

第二个示例的问题是,否定先行断言是非消耗性的。这意味着您需要在检查后使用这些字符。我在每次使用 . 和引用进行前瞻之后都会执行此操作。

第一个示例的问题是,您无法将这些引用放入字符组中。

更新:我更新了我的正则表达式和 rubular 链接,因为第一个版本在第一个版本之后允许除 [a-z] 之外的其他字符。

关于python - 如何在Python中使用群补?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5866555/

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