繁体   English   中英

什么是将在某些索引处与字符匹配的正则表达式?

[英]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+3n+6位置上相同字母的另外2个实例,其中n是字母的第一个位置。

由于每3个字符出现a ,因此(a..)*将与这些重复匹配。 然后,您只需要在其前面加上一个匹配所需字符数的模式即可,即n-1 . 模式。

因此,对于您给出的三个示例,它是

^(a..)*
^.(a..)*
^..(a..)*

暂无
暂无

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

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