2017-02-28 16 views
0

私は、複数のフレーズを1行(または入力文字列)で取得する必要があります。
入力が= "これは説明です、これは説明です"
だから私は文字列 "this is description"を入力の中で2回繰り返して検出する必要があります。

これは私が
regexでコンマ区切りの文字列をキャプチャする

(.*).*\1 

これまでに試した。しかし、それはのような正確な繰り返しを持っていない入力一致する

+0

[mcve]を投稿してください。 – shmosel

+0

なぜ機能しないのですか?それは(https://regex101.com/r/6gCwbt/1)です。 –

+0

正規表現は文字列にパターンが表示されるように指示します。あなたの例では、1つの文字列に2つのフレーズを人為的に宣言しています。あなたのコードはそれをどのように知っていますか?最初に異なるフレーズをそれぞれの文字列に分けて、各文字列を単独でテストする必要があります。 – AntonH

答えて

0

「これが説明され、より多くのテキストを、これは説明です」正規表現であります繰り返し任意の数の値を確認するには

(.+?),\1 

ペアカンマで区切られた文字列のを繰り返し検索するには(カンマ区切り):

(.+?)(?:,\1)+ 

最初のカンマとその後、コンマの後の繰り返しまでの非欲張りマッチを行うことにより、これらの作品。

+0

ありがとう、しかし、これらは私の要件が "これはテストです、これはテストではありません" – greatb

関連する問題