我写了这个正则表达式:

\\s+(?:([^:]+):)(?:([^:]+):)(?:([^:]+):)(?:([^:]+):)


解析这样的事情:

lvt:vgt:mwi-ao:44.00m ::::: lvt_mlog:100.00:
  lvt2:vgt2:-wi-a-:908.00m :::::::



1组将是:lvt
2组:vgt
...
4组:44.00m

我想把它缩短。

我尝试通过以下方式进行操作:\\s+(?:([^:]+):)+

但是在这种情况下,它仅捕获最后一组。

结果将是:
1组:44.00m

最佳答案

您可以删除许多不必要的非捕获括号:

\\s+([^:]+):([^:]+):([^:]+):([^:]+):

08-15 19:39