繁体   English   中英

python重复正则表达式

[英]python repeating regex

我有这样的正则表达式模式

(\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)'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM