जावा रेगुलर एक्सप्रेशन में कैरेक्टर क्लासेस को स्क्वायर ब्रैकेट्स "[ ]" का उपयोग करके परिभाषित किया गया है, यह सबएक्सप्रेशन निर्दिष्ट या संभावित कैरेक्टर्स के सेट से सिंगल कैरेक्टर से मेल खाता है।
उदाहरण के लिए रेगुलर एक्सप्रेशन [abc] एकल वर्ण a या, b या, c से मेल खाता है। इसी तरह, "[a-z]" a से z तक के एकल वर्ण से मेल खाता है।
जावा रेगेक्स वर्गों के चरित्र के अन्य प्रकार निम्नलिखित हैं:
नकारात्मकता - वर्ण वर्ग के निषेध संस्करण को "[^ ]" (वर्ग ब्रेसिज़ के भीतर ^ के साथ) के रूप में परिभाषित किया गया है, यह एक एकल वर्ण से मेल खाता है जो निर्दिष्ट या संभावित वर्णों के सेट में नहीं है। उदाहरण के लिए नियमित अभिव्यक्ति [^abc] a या, b या, c को छोड़कर एकल वर्ण से मेल खाता है। इसी तरह, "[^a-z]" a से z तक के अक्षरों को छोड़कर किसी वर्ण से मेल खाता है।
रेंज − वर्ण वर्ग का श्रेणी संस्करण आपको वर्णों की एक श्रेणी का उपयोग करने की अनुमति देता है। उदाहरण के लिए, अभिव्यक्ति [a-z] अक्षर a से z तक एकल वर्ण से मेल खाती है और अभिव्यक्ति [^A-Z] एक ऐसे वर्ण से मेल खाती है जो एक बड़े अक्षर नहीं है ।
संघ - वर्ण वर्ग का संघ संस्करण आपको निर्दिष्ट श्रेणियों में से किसी एक वर्ण का मिलान करने की अनुमति देता है। उदाहरण के लिए, व्यंजक [a-z[0-9]] एक एकल वर्ण से मेल खाता है जो या तो एक छोटा अक्षर (a-z) या एक अंक है ( 0-9)।
चौराहा − चरित्र वर्ग का प्रतिच्छेदन संस्करण आपको एक ऐसे चरित्र से मेल खाने की अनुमति देता है जो उन श्रेणियों में सामान्य है जिनके बीच प्रतिच्छेदन संबंध है। श्रेणियों के बीच एक प्रतिच्छेदन संबंध को &&का उपयोग करके परिभाषित किया गया है। उदाहरण के लिए, व्यंजक [a-z&&[r-u]] r से u तक के एकल वर्ण से मेल खाता है।
घटाव − आप एक श्रेणी को दूसरे से घटा सकते हैं और इसे नई श्रेणी के रूप में उपयोग कर सकते हैं। आप चरित्र वर्गों के दो प्रकारों का उपयोग करके इसे प्राप्त कर सकते हैं, अर्थात निषेध और प्रतिच्छेदन। उदाहरण के लिए, श्रेणियों का प्रतिच्छेदन [ए-एल] और [^ ई-एच] आपको वर्णों को ए से एल के रूप में वर्णों को घटाते हुए [ए-एच] देता है।