एक वर्ण वर्ग जिसके बाद '?', '*' या '+' जैसे ऑपरेटर आते हैं, उन्हें दोहराए जाने वाले वर्ण वर्ग कहा जाता है।
यदि आप '?', '*' या '+' ऑपरेटरों का उपयोग करके किसी वर्ण वर्ग को दोहराते हैं, तो आप संपूर्ण वर्ण वर्ग को दोहराएँगे, न कि केवल उस वर्ण से जिससे वह मेल खाता है। रेगेक्स '[0-9]+' '579' के साथ-साथ '333' से मेल खा सकता है। यदि आप वर्ग के बजाय मिलान किए गए वर्ण को दोहराना चाहते हैं, तो आपको बैकरेफरेंस का उपयोग करना होगा। '([0- 9])\1+' का मिलान '333' से होगा लेकिन "579" से नहीं। जब स्ट्रिंग "922226" पर लागू किया जाता है, तो यह इस स्ट्रिंग के बीच में '2222' से मेल खाएगा। यदि आप ऐसा नहीं चाहते हैं, तो आपको आगे की ओर देखने और पीछे देखने की आवश्यकता है।