2016-06-20 6 views

Antwort

0

es so einfach ist, wie keinen Punkt übereinstimmt, gefunden [^.]

Natürlich könnte es andere Lösungen sein das funktioniert besser für dich, abhängig von Dingen wie wenn das der ganze String ist, wenn ein Charakter garantiert danach kommt, usw. Wenn du mehr gibst Details kann ich genauer sein.

Zum Beispiel, wenn es eine Import-Anweisung ist, könnten Sie einfach ein Semikolon zuordnen, indem Sie ein literales Semikolon danach einfügen. Wenn Sie planen, das Bit unmittelbar danach zu verwenden, verwenden Sie einen negativen Lookahead: (?!\.) Wenn der String nach dem util endet, verankern Sie ihn mit $ am Ende.

Wenn Sie auf nurjava.util.Collections scheitern wollen, aber etwas anderes akzeptieren, dann möchten Sie (?!\.Collections) die spezifische negative Vorschau verwenden. Wenn Sie nur eine Sache erlauben möchten (zB Random), können Sie in Ihrem aktuellen Regex (?:\.Random)?sofort nach java.util hinzufügen.

+0

Danke, ich brauche das Bit danach, damit das negative Lookahead funktioniert! –

+0

@poleapple Wenn meine Antwort geholfen hat, bitte upvote und/oder akzeptiere es :) –

0

Sie könnten das Ende der Zeile Zeichen verwenden

(abc|xyz|java\.util|)$ 

Oder negative look-ahead

(abc|xyz|java\.util|)$(?!\.) 
0

Sie können eine negative Vorschau verwenden und einen regulären Ausdruck wie folgt verwenden:

java\.util(?!\.Collections) 

Regular expression visualization

Working demo

So können Sie das Muster zu Ihrem regulären Ausdruck hinzuzufügen und haben:

(abc|xyz|java\.util(?!\.Collections)|) 

Regular expression visualization

Verwandte Themen