2017-02-03 6 views
0

Ich möchte ein Muster finden, das eine Zeichenfolge ist. Ich kenne die ersten paar Zeichen dieser Zeichenfolge. Und ich kenne auch die Menge der Zeichen oder Wörter, mit denen die Zeichenfolge endet. Wie finde ich dieses Muster? Meine Zeichenfolge besteht aus Wörtern und Sonderzeichen.Entspricht einem Muster in Java, wenn ein paar Anfangszeichen und ein paar Endzeichen bekannt sind

Meine Zeichenfolge beginnt mit einem Sonderzeichen und endet mit einem Sonderzeichen, gefolgt von zwei beliebigen Zeichen, bei denen es sich um Variablen handelt.

+0

Matcher verwenden Sie meinen 'Start + "(. *?)" + End + + Spezial 1 special2'? –

+0

@PeterLawrey ja. Und ich weiß, was der Endcharakter ist. Aber special1 und special2 sind unbekannt. Diese können variieren. –

+0

also hast du schon deine Antwort mit diesem Kommentar, richtig? ;-) – Roland

Antwort

1

Wenn Sie nicht wissen, was der besondere Charakter ist und will, dass sie von dem Eingang, um herauszufinden, können Sie tun,

String regex = start + "(.*?)" + end + "(.)(.)" 

Wie @ olivier-grégoire weist darauf hin, dies setzt voraus, start und end ausreichend zitiert z.B Verwenden Sie Pattern.quote(String), wenn Sie nicht sicher sind.

Die beiden Zeichen in der Gruppe 2 und 3 wird abgestimmt, wenn Sie ein

+1

Sie sollten 'start' und' end' mit 'Pattern.quote (String)' umbrechen. –

Verwandte Themen