如何匹配[a-z] [a-z] [a-z],其中这些字母在任何一场比赛中必须是同一个字母?

时间:2016-12-05 19:05:51

标签: php regex preg-match-all

此字符串中的示例:

“a a b b b c c c c a a a a c b c”

我想选择正则表达式。

b b b;

c c c;

a a a;

a a a;

我发现我必须向前看(?=以匹配重叠的那些,问题是如何使每个匹配中的字母相同,而不是得到如下结果:

a a b;

a b b;

b b c;

依旧......

1 个答案:

答案 0 :(得分:1)

捕捉第一个字母并将下两个字母与之匹配:

$( "img" )
  .mousedown(function() {
    $( this ).prop("src", 'rust.jpg');
  })
  .mouseup(function() {
    $( this ).prop("src", 'rustb.png');
  });
  • preg_match_all('/([a-z]) \1 \1/', $string, $matches); 匹配并捕获字母a-z
  • 匹配一个空格,然后([a-z])再次匹配匹配的字母
  • 匹配一个空格,然后\1再次匹配匹配的字母

\1也可以使用:

  • /([a-z])( \1){2}/匹配并捕获字母a-z
  • ([a-z])匹配一个空格,然后( \1)再次匹配匹配的字母\1