-1

文中の各文字を 1 回選択する RegExp 式が必要です (大文字と小文字を区別しません)。手伝って頂けますか?

入力文字列は次のとおりです。

あああああああああああああああああああああああああああああああああああああああああ

結果は次のようになります (順不同):

abcdsz

UPD: わかりました。RegExp ソリューションはありません。以下のプログラムによる解決策。(Qt)

4

2 に答える 2

2

2 つの注意点がありますが、各文字が個別に一致する可能性があり、文字の大文字と小文字については保証されません (大文字または小文字に関係なく、文字の最後の出現が選択されます)。

(.)(?!.*\1)

QRegExpbackreference と look-ahead を実装しているため、上記の正規表現が機能するはずです。

オプションをオンにして使用する必要がありQt::CaseInsensitiveます。

.QRegExp では、デフォルトで例外なく任意の文字に一致します (これはs、Perl、PCRE、Java などでオプションを常にオンにするのと同じです)。そのため、要件によっては、最初に文字列内のすべてのスペース文字を削除することをお勧めします。 .

regex101 のデモ(PCRE エンジンを使用していますが、この正規表現の動作に違いはないはずです)

于 2014-12-09T02:44:59.443 に答える