期間
p
を検出するための正規表現は、そのw[i]=w[i+p]
、この式の両辺が定義されているときはいつでも任意の正の整数p
です。per(w)
は、w
の最小期間のサイズ を示します。文字列w
は periodic iff です。周期ストリングストリング<code>w</code>の
したがって、非公式に周期的な文字列は、少なくとも2回繰り返したプレフィックスから構成された単なる文字列です。唯一の問題は、文字列の最後に接頭辞の完全なコピーを必要としないということです。
たとえば、文字列x = abcab
を考えてください。 per(abcab) = 3
をx[1] = x[1+3] = a
,x[2]=x[2+3] = b
とし、それより小さい期間はありません。したがって、文字列abcab
は周期的ではありません。ただし、文字列ababa
は、周期的で、per(ababa) = 2
です。
さらに多くの例として、abcabca
,ababababa
およびabcabcabc
も周期的です。
文字列が周期的であるかどうかを判断する正規表現はありますか?
私は本当に正規表現の味が気にしませんが、違いがある場合は、Python re
に対応しています。
どの言語を使用していますか? –
@Kilannyこれは一般的な正規表現の質問ですが、それが違いを生むならば、Pythonがサポートしているものはどれも。 – eleanora
@ClasG下のhorcruxの答えはどうですか? – eleanora