2017-10-25 2 views
-1

Würde jemand freundlicherweise demonstrieren, was die regelmäßige Expession für die Anpassung der eckigen Klammern wäre?Regex - Java Regulärer Ausdruck entspricht eckigen Klammer

Ich verwende derzeit java.util.regex.

Zum Beispiel, sagen wir, wir haben die folgende Zeile:

public static void main (String[] args) { 

ich nur die OPEN eckige Klammer [ und als nächstes die enge eckige Klammer ] übereinstimmen müssen.

Ich sage nicht, ich muss den Text zwischen den eckigen Klammern übereinstimmen.

Ich habe versucht, mit

[\\]] 

und

\\] 

Leider passt es den Text als auch und ich brauche nur [ oder ] anzupassen.

Die seltsame Sache ist, wenn ich versuche, die { mit [\\}] übereinstimmen, funktioniert es!

Gedanken?

+1

Haben Sie versucht, '[\ [\]]'? –

+0

Ich sehe hier Verwirrung über grundlegende Regex-Konzepte. Bitte bearbeiten Sie Ihre Frage und zeigen Sie uns genau, was Sie versuchen zu entsprechen. –

+4

Bitte senden Sie den Code, den Sie ausprobiert haben. Einige Zeichen müssen mit einem umgekehrten Schrägstrich in einer Regex versehen werden, und dann muss der umgekehrte Schrägstrich mit einem anderen umgekehrten Schrägstrich in Zeichenfolgenliteralen maskiert werden. Es ist schwer zu sagen, ob du es richtig machst. – ajb

Antwort

0

Sie können es mit:

String text = "[This is the text]"; 

    String patternString = "\\[.*.\\]"; 

    Pattern pattern = Pattern.compile(patternString); 

    Matcher matcher = pattern.matcher(text); 

    System.out.println("Matcher? " + matcher.matches()); 

Dieses return true, wenn der Text ein [ und ] und falsch ist, wenn es nicht

Hoffnung tut dies Ihnen helfen kann. Danke.

Verwandte Themen