Many Christians find that they make the same mistake repeatedly. This is especially so if you have years of bad habits to overcome. So rest assured, you are not alone in this struggle.
The apostle Paul writes about the struggle between a mind which wants to serve God and a sinful nature which just keeps on sinning. And he writes that Jesus Christ delivers him from this body of death (Romans 7, esp vv 24-25). So Jesus’ blood is quite powerful enough to wash away ALL your sin, even repeated sins. You are NEVER beyond forgiveness.
But you must repent sincerely. The idea that God cannot be mocked (Galatians 6:7) basically means that God sees right through someone who is not repenting sincerely. SOMETIMES, repeated sin can be an indication that the person hasn’t really repented, and is only saying that they repent. God is not fooled by that.
Repeated sin is a sign that you have a particular weakness to that sort of temptation - and I believe that we
So pray that God will help you overcome the sin, and then take practical steps to avoid it. Try to work out what situations, decisions, activities or friends lead you into this sin, and then take steps to avoid them. That way you won’t even get close to it. It is a good idea to tell a Christian friend about the sin so they can pray with you and encourage you. That would obviously need to be someone you could trust to keep it confidential. And if you fall into sin, turn back to God and ask for forgiveness and then keep trying - remembering that a day will come when it will no longer be a problem.
SO, IN SHORT, God is always ready to forgive, but we must never get complacent about sin and think it doesn’t matter. Rather we do whatever we can to avoid temptation and deal with sin when it happens.
I hope this helps, and I have prayed for you.