Characters, Operators, और Constructs की विभिन्न Categories हैं जो आपको Regular Expressions Define करने देती हैं।
उनमें से एक है Grouping Constructs। Grouping Constructs, Regular Expression के Sub-Expressions को Describe करते हैं और Input String के Substrings को Capture करते हैं। निम्न Table Grouping Constructs को List करती है।
| Grouping Construct | Description | Pattern | Matches |
|---|---|---|---|
| ( subexpression ) | Matched Subexpression को Capture करता है और Zero-Based Ordinal Number Assign करता है। | (\w)\1 | "ee" in "deep" |
| (?< name >subexpression) | Matched Subexpression को Named Group में Capture करता है। | (?< double>\w)\k< double> | "ee" in "deep" |
| (?< name1 -name2 >subexpression) | Balancing Group Definition Define करता है। | (((?'Open'\()[^\(\)]*)+((?'Close-Open'\))[^\(\)]*)+)*(?(Open)(?!))$ | "((1-3)*(3-1))" in "3+2^((1-3)*(3-1))" |
| (?: subexpression) | Noncapturing Group Define करता है। | Write(?:Line)? | "WriteLine" in "Console.WriteLine()" |
| (?imnsx-imnsx:subexpression) | Subexpression के भीतर Specified Options Apply या Disable करता है | A\d{2}(?i:\w+)\b | "A12xl", "A12XL" in "A12xl A12XL a12xl" |
| (?= subexpression) | Zero-Width Positive Lookahead Assertion। | \w+(?=\.) | "is", "ran", और "out" in "He is. The dog ran. The sun is out." |
| (?! subexpression) | Zero-Width Negative Lookahead Assertion। | \b(?!un)\w+\b | "sure", "used" in "unsure sure unity used" |
| (?< =subexpression) | Zero-Width Positive Lookbehind Assertion। | (?< =19)\d{2}\b | "51", "03" in "1851 1999 1950 1905 2003" |
| (?< ! subexpression) | Zero-Width Negative Lookbehind Assertion। | (?< !19)\d{2}\b | "ends", "ender" in "end sends endure lender" |
| (?> subexpression) | Nonbacktracking (या "Greedy") Subexpression। | [13579](?>A+B+) | "1ABB", "3ABB", और "5AB" in "1ABB 3ABBC 5AB 5AC" |