Scannerを使用して、単語の境界で String を分割したいと考えています。通常、これは次のように行われます。
Scanner scanner = new Scanner(...).useDelimiter("\\b");
問題は、「単語」文字の私の定義が標準とは少し異なることです。これは、さらに文字を含めて:[a-zA-Z_0-9]
を除外したいためです。したがって、パターンを使用することはできません。_
[a-zA-Z0-9#/]
\b
だから私は先読みと後読みを使って同じことをしようとしましたが、私が思いついたものはうまくいきませんでした:
(<?=[A-Za-z0-9#/])(?![A-Za-z0-9#/])|(<?![A-Za-z0-9#/])(?=[A-Za-z0-9#/])
これを使用すると、スキャナーはどこにも分割されません。
先読みと後読みを使用してこれを行うことは可能ですか?