ich einen regulären Ausdruck zu einem Build bin versucht, aber es gibt mir nicht den richtigen WertRegulärer Ausdruck mit [a-zA-Z] {0,2}
Bookss
mit folgendem übereinstimmen sollte:
Books
Bookss
Booksss
dh die Zeichenkette mit einem Zeichen entsprechen kann weniger oder mehr oder gleich
ich habe versucht, den regulären Ausdruck für den obigen Fall bauen, aber es stimmt nicht überein
Der reguläre Ausdruck habe ich versucht, ist:
String str="Books"
Pattern p=Pattern.compile(str.substring(0,input.length()-1)+"[a-zA-Z]{0,2}"
Matcher matcher = p.matcher(str);
if (matcher.find())
{
System.out.println("Found");
}
Es sieht so aus, als müssten Sie nur '*' an 'str' anhängen. Aber es ist eine gute Idee, 'Pattern.quote' it:' Pattern.compile (Pattern.quote (str) + "*") ''. Sie haben jedoch 'Bookss' in die Frage geschrieben und Sie haben' Books' im Code. Was sind die wirklichen Inputs und Regeln? BTW, siehe [diese Demo] (https://ideone.com/dQHQQk). –
Das '*' macht das vorhergehende Atom optional, es passt 0 oder mehrmals. Ich denke, es ist das, wonach Sie suchen, oder? –
Für Beispiel: Der Eingang ist Boo? S, für diesen Ausgang kann eine der folgenden sein 1. Buch/Booa 2. Bücher/Booka 3. Bookss/Bookaa, So baue ich einen regulären Ausdruck Buch. az] {0,2} – Neha