我想使用Scanner在单词边界处拆分字符串。通常,这将是这样完成的:
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#/])
扫描仪不会使用它在任何地方分割。
是否可以使用前瞻和后视以及如何做到这一点?