Are you under a lot of stress? Stress and worrying can lead to your period days to be thrown off. I don't think you're pregnant, because if you were, you wouldn't be HAVING a period and you'd know by now since it's been happening for 3 years. I wouldn't worry too much about it. Just start a FAM chart (chart your period days) and see how drastic the cycle differences are. It sounds like stress to me =( If you're really that worried I would go see a doctor. But other than that, I think you're just fine. A lot of things can change your period days.
Is it possible that u are pregnant?