Sollten sich erfassende Klammern auf einen separaten negativen Lookahead auswirken?

8

Ich benutze Java. Ich habe folgenden Text:

%Vor%

Warum (hy) (?! [a-z]) zwei "hy" s zurückgibt. Die Idee ist, jedes "hy" zu finden, dem kein Zeichen zwischen a-z.

folgt

Wenn ich hy (?! [az]) (hy ohne Klammern) mache, funktioniert es (findet nur das zweite "hy"), aber ich verstehe nicht warum, wenn ich Klammern (hy ) in der RegEx entspricht es dem ersten "hy" in hyst

    
user2287359 30.04.2013, 22:30
quelle

1 Antwort

3

Wenn Sie eine Erfassungsgruppe verwenden, erhalten Sie zwei Ergebnisse, das erste ist das gesamte Muster und das zweite die Erfassungsgruppe. Der erste hy wurde noch nie gefunden.

Wenn Sie die Klammern entfernen, erhalten Sie nur das, das mit dem gesamten Muster übereinstimmt.

    
Casimir et Hippolyte 30.04.2013, 22:39
quelle

Tags und Links