2016-12-05 6 views
0

例:[a-z] [a-z] [a-z]どのように一致させるには?この文字列で

"B B C B C C C A A A A〜C bはC B A"

私が選択するための正規表現をしたいと思います。

bbb;

cc;

aa;

aa;

私は(と前方に見ていることが判明=でも重複するものと一致するように、質問ではなく、同じような結果を得るための、文字はすべての個々の試合で同じになるようにする方法です?

AAB;

ABB;

BBC;

のように...

+0

利用群と後方参照を捕捉します。 –

+0

代わりにLINQを使用できますか? – EJoshuaS

答えて

1

は、最初の文字をキャプチャし、次に一致しますそれに対して2:

preg_match_all('/([a-z]) \1 \1/', $string, $matches); 
  • ([a-z])試合とスペースが、その後\1がマッチした文字に一致する
  • 試合AZ手紙をキャプチャ再び
  • 試合スペースは、\1はマッチした文字に一致し、再び

/([a-z])(\1){2}/でも動作します。

  • ([a-z])一致キャプチャ文字-Z
  • (\1)一致空間次いで\1が一致した文字と一致再び二度{2}
+0

私はここでそれをテストしています:http://www.phpliveregex.com/これは何の結果も出ていないようです。私が先を見ないと結果が得られるのは不思議ですが、私が見るとそうではありません。私。 ([a-z])\ 1 \ 1)) – cybera

+0

ダンノー、それはあなたの質問のようなものではありません。 – AbraCadaver

+0

とにかくこれは私が求めていたものです。私はここからそれを理解するでしょう。ありがとう。 – cybera

関連する問題