私はこのスレッドを見つけ、その上のユーザーの 1 人が次のコード行を投稿しました。
String[] digits2 = number.split("(?<=.)");
このコードの意味を解読するために、 1と2のような情報源をいくつか調べましたが、わかりません。split() メソッドの引数の意味を説明できる人はいますか?
編集:私と同じ質問がある人には、別の役立つリンクがあります
これは肯定的な後読みです。全体的な表現は、「任意の文字の後、何もキャプチャしない」ことを意味します。基本的に、文字列が次のように見える場合
ABC
|
その場合、文字間の ,で一致が発生します。
A|B|C|
.split("")
(空の文字列/パターン) は、正規表現の先頭にある空の文字列と一致します。これは望ましくない追加の空の文字列です。 (?<=.)
ゼロ幅のアサーション (文字を消費しない) で、ゼロ幅のスペースの後に任意の文字が続きます (後読みであるため、 が続きます)。これは、各文字間の空の文字列で分割されますが、最初の文字と文字列の先頭の間の空白では分割されません。