ক্যারেক্টার ক্লাসের পিছনে '?', '*' বা '+' অপারেটর থাকলে সেটিকে রিপিটিং ক্যারেক্টার ক্লাস বলে।
আপনি যদি '?', '*' বা '+' অপারেটর ব্যবহার করে ক্যারেক্টার ক্লাস রিপিট করেন, তবে আপনি পুরো ক্যারেক্টার ক্লাসটিকে রিপিট করছেন, শুধু যে ক্যারেক্টারটি ম্যাচ করেছে সেটি নয়। রেজেক্স '[0-9]+' '579' এবং '333' দুটোই ম্যাচ করতে পারে। আপনি যদি ম্যাচ করা ক্যারেক্টারটি রিপিট করতে চান, ক্লাসটিকে না, তবে আপনাকে ব্যাকরেফারেন্স ব্যবহার করতে হবে। '([0-9])\1+' '333' ম্যাচ করবে কিন্তু '579' ম্যাচ করবে না। স্ট্রিং "922226" এ প্রয়োগ করলে, এটি মাঝপথে '2222' ম্যাচ করবে। আপনি যদি এটা না চান, তবে লুকঅহেড এবং লুকবিহাইন্ড ব্যবহার করতে হবে।