2016-09-12 11 views
0

与えられたM文字の順列を表す正規表現が必要であり、置換文字列の長さはNでなければなりません。例えば、1と0、つまりM=2と長さ置換文字列は、私が持っている、3(。すなわちN=3)する必要があります。長さMの文字の並べ替えの正規表現N

000, 001, 010, 011, 100, 101, 110, 111

N=2は、私が持っていた場合:

00, 01, 10, 11

正規表現はどのようにすべきですか?

ありがとうございます!

編集: はちょうどそれを明確にしたい、入力が数字に限定されるものではなく、それは手紙することができ、例えば、私はゲノミクスにアデニン、チミン、シトシンとグアニンを表す{A, T, C, G}を持って、私はの順列を持っている必要があります

ATC, ATG, ACT, AGAなど

ありがとう:グループごとに3つは、私は次のようにリストを持つことができます!

+1

あなたは何を試してみましたか?これは、文字クラスと量指定子を使うだけで十分です。 – 4castle

+0

これに正規表現が必要なのはなぜですか?それは必須条件ですか? –

+0

以下の正規表現が必要なものと似ているかどうか教えてください –

答えて

1

Heresは、数字と一致するように正規表現1-nを返します。あなたはあなたが望むことをするためにそれをつけることができます。

^(?=[1-n]{n}$)(?!.*(.).*\1).*$ 

サンプル入力nの= 4

1234 
2431 
abcde 
4321 
1231 
3412 

出力

1234 *MATCH* 
2431 *MATCH* 
abcde 
9010 
4321 *MATCH* 
1231 *MATCH* 
3412 *MATCH* 
+0

私の最新の編集をお待ちしていますか? – hzxu

+1

なぜ地球上であなたはそんなに複雑ですか?あなたが好きなら '^ [1234] {4} $'(または '^ [1-4] {4} $')が完全に適切です。 – rici

+0

この正規表現を言葉で説明するのはとても親切ですか? –

関連する問題