Regulärer Ausdruck Benannte Gruppen: Gut oder schlecht?

8

Wie erstelle ich Gruppen mit Namen in C # mit Regulären Ausdrücken, und ist es eine gute Übung?

Vielen Dank im Voraus.

    
Payne 22.01.2010, 22:24
quelle

3 Antworten

7

Geben Sie der Gruppe einen Tag-Namen:

%Vor%

Ich halte das absolut für eine gute Praxis. Überlegen Sie, was passiert, wenn Sie den regulären Ausdruck ändern. Wenn Sie Indizes zum Abrufen von Daten verwenden, kann sich die Reihenfolge dieser Gruppen ändern. Indem Sie sie benennen, geben Sie genau die Daten an, von denen Sie glauben, dass sie in der Gruppe enthalten sind, also ist es auch eine Form der Selbstdokumentation.

    
Michael Bray 22.01.2010, 22:26
quelle
2

Wie andere bereits erwähnt haben, lautet die Syntax (?<GroupName>....) .

Hier ist ein Beispiel, das zeigt, wie man eine Gruppe namens Key und eine Gruppe namens Value und ebenso wichtig (aber häufig vergessen) erstellt - wie man die Gruppen anhand des resultierenden Match-Objekts nach Namen extrahiert:

%Vor%

Ich würde normalerweise keine benannten Gruppen für sehr einfache Ausdrücke verwenden, zum Beispiel wenn es nur eine Gruppe gibt.

Für komplexere reguläre Ausdrücke mit vielen Gruppen, die komplexe Ausdrücke enthalten, wäre es wahrscheinlich eine gute Idee, benannte Gruppen zu verwenden. Wenn andererseits Ihr regulärer Ausdruck so kompliziert ist, dass Sie dies tun müssen, kann es eine gute Idee sein, um zu sehen, ob Sie das Problem auf andere Weise lösen oder Ihren Algorithmus aufteilen können in kleinere, einfachere Schritte.

    
Mark Byers 22.01.2010 22:37
quelle
1

Named Capture-Gruppen sind nett, normalerweise tho mit einfacheren Regex die Verwendung der numerischen Capture-Gruppe ist wahrscheinlich mehr Streamliney, einige Tipps hier:

Ссылка

    
jspcal 22.01.2010 22:26
quelle

Tags und Links