如何为此String构建正则表达式

时间:2017-10-22 15:27:23

标签: java regex split

您好我在为此字符串构建正则表达式时遇到问题

TOWN                 ALe   Alx   Aus   Bau   Bem   Bra   Clq   Crk   DLk

AlbertLea              -     -    22     -     -     -     -     -     -     -

我想要的是分割字符串,包括每个标记之间的所有空格而不是空格,例如,分割字符串数组将是这样的

[TOWN                 ,ALe   ,Alx   ,Aus   ,Bau   ,Bem   ,Bra   ,Clq   ,Crk   ,DLk]



[AlbertLea              ,-     ,-    ,22     ,-     ,-     ,-     ,-     ,-     ,-     ]
谢谢。

2 个答案:

答案 0 :(得分:0)

向前看,看看背后:

(?<=\s)(?=\S)

(?<=\s)背后的外观恰好在空格字符后面。

前瞻(?=\S)在非空格字符之前匹配。

组合在空格和非空白字符之间匹配。

请参阅live regex demolive java demo

答案 1 :(得分:-1)

而不是分裂你不想要的东西,你可以更容易/更有效地捕捉你想要的东西:

/(\S+[ \t]+)/

Demo

不是这样可以捕获不包括示例中\n\n的空格。