Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Giải thích Grouping Constructs (Cấu trúc nhóm) trong Regular Expression C#

Grouping constructs mô tả sub-expression của regex và capture substring của input string.

Grouping constructMô tảPatternMatches
( subexpression )Capture matched subexpression, gán số thứ tự zero-based(\w)\1"ee" in "deep"
(?<name>subexpression)Capture vào named group(?<double>\w)\k<double>"ee" in "deep"
(?<name1-name2>subexpression)Balancing group definition(((?'Open'\()[^\(\)]*)+((?'Close-Open'\))[^\(\)]*)+)*(?(Open)(?!))$"((1-3)*(3-1))" in "3+2^((1-3)*(3-1))"
(?: subexpression)Non-capturing groupWrite(?:Line)?"WriteLine" in "Console.WriteLine()"
(?imnsx-imnsx:subexpression)Apply/disable options trong subexpressionA\d{2}(?i:\w+)\b"A12xl", "A12XL" in "A12xl A12XL a12xl"
(?= subexpression)Zero-width positive lookahead\w+(?=\.)"is","ran","out" in "He is. The dog ran. The sun is out."
(?! subexpression)Zero-width negative lookahead\b(?!un)\w+\b"sure","used" in "unsure sure unity used"
(?<=subexpression)Zero-width positive lookbehind(?<=19)\d{2}\b"51","03" in "1851 1999 1950 1905 2003"
(?<!subexpression)Zero-width negative lookbehind(?<!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"