Есть строка, нужно ее разбить на составляющие. Например:
var a = 'some/text.html', result = /(\w+)\/?(\w+)?\.?(\w+)/i.exec(a)
// Тут все ок:
// result[1]=='some'
// result[2]=='text'
// result[3]=='html'
Но если a = 'some/text' или 'some', то получается полная фигня! Я не силен в регулярных выражениях. Подскажите, как сделать, чтобы result[1] всегда был то, что до /, result[2] - то, что между / и . (если оно есть) , а result[3] - то, что после . (если оно есть)