我写了这个正则表达式:
\\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+([^:]+):([^:]+):([^:]+):([^:]+):