Вот регулярное выражение, которое соответствует всему от начала строки до (но не включая) первой точки:
^[^.]+
То есть:
string | matched part
----------------------
foo.txt | foo
foo.tar.gz | foo
Мне нужно настроить его так, чтобы он включал в себя такие вещи, как «1.15» или «1.5.1». То есть:
string | matched part
-------------------------------
foo_1.15.txt | foo_1.15
foo_1.5.1.tar.gz | foo_1.5.1
Это как-то возможно?