[英]What is a regular expression that will match a character at certain indexes?
是否有单个正则表达式将匹配在某些索引处具有字母“ a”或“ x”的字符串?
例如,索引可以是
0, 3, 6
1, 4, 7
2, 5, 8
根据这些索引的可能模式:
"a--a--a--"
"-x--x--x-"
"--a--a--a"
其他出现的"a"
或"x"
也可以。 我只想确保某些索引包含"a"
。
编辑:这个问题是井字游戏板的一个子问题。 我要使用正则表达式确定是否有赢家。 我不想要这个答案。 我只需要一点推动力,以帮助我迈向最终答案。 上面的内容是为了帮助我找到一个正则表达式,它可以确定是否有垂直赢家。
如果您的井字游戏看起来像是9个字符的长字符串,则测试此模式应该足以知道是否有垂直线:
a..a..a
您可以使用此正则表达式:
([a-zA-Z])..\1..\1
([a-zA-Z])
将匹配并捕获#组中的任何字母 \\1
匹配n+3
和n+6
位置上相同字母的另外2个实例,其中n
是字母的第一个位置。 由于每3个字符出现a
,因此(a..)*
将与这些重复匹配。 然后,您只需要在其前面加上一个匹配所需字符数的模式即可,即n-1
.
模式。
因此,对于您给出的三个示例,它是
^(a..)*
^.(a..)*
^..(a..)*
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.