// I have trouble to define those dots between which can be a lots of various characters
Here is the issue. What is those dots supposed to represent? If they are dots, then you can split like with ... "b\\.\\. \\.\\.c". If they are to represent any number of any characters, then you can split like with ... "b.*?c". We need some more examples, which doesn't use dots to clarify.