gpt4 book ai didi

python 重复正则表达式

转载 作者:太空宇宙 更新时间:2023-11-03 17:05:03 24 4
gpt4 key购买 nike

我有一个像这样的正则表达式模式

(\w)(..\1..\1|...\1...\1|....\1....\1|.....\1.....1)

我想把它弄短一点。正如我们所看到的,点的数量是从 2 到 5。我想写一些像 (\w)(.{2,5}\1){2} 但在这种情况下它会匹配一些错误的字符串q00q000q。我也可以尝试使用数字引用,但它重复字符串中的字符而不是符号.。是否可以将模式 .{2,5} 重复为 . 的特定计数?

更新这是关于井字棋游戏的挑战。我需要写下一个长度 <=50 的正则表达式,可用于确定是否有人获胜

最佳答案

您可以使用 Python 表达式生成正则表达式:

In [13]: r'(\w)(%s)'%'|'.join(r'{dots}\1{dots}\1'.format(dots='.'*i) for i in range(2,6))
Out[13]: '(\\w)(..\\1..\\1|...\\1...\\1|....\\1....\\1|.....\\1.....\\1)'

关于python 重复正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34666111/

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