2017-11-27 8 views
-2

Das ist, was ich zu tun ... Ich versucheRegulärer Ausdruck: Keine Übereinstimmung gefunden?

Enter Pattern 
//*//_//* 
Enter Text 
hello *_* how are you? 
No match found 

Ich weiß, über Zeichen Behandlung zu vermeiden, wie Metazeichen Ich brauche diese Escape-Sequenzen zu verwenden. Ich weiß nicht, wie man mit _ (Unter seufz) zu tun

Ich habe sogar versucht

// * _ // *

Noch hat es nicht funktioniert.

Code

Scanner sc = new Scanner(System.in); 
System.out.println("Enter pattern"); 
Pattern pattern = Pattern.compile(sc.nextLine()); 
System.out.println("Enter Text"); 
Matcher matcher = pattern.matcher(sc.nextLine()); 
boolean found = false; 

while(matcher.find()) 
{ 
    System.out.println("I found the text" + matcher.group() + "Starting index" + matcher.start() + "Ending at index" + matcher.end()); 
    found = true; 
} 
if(!found) 
{ 
    System.out.println("No match found"); 
} 
+3

Schreibe den Code, den Sie –

Antwort

-1

Wenn Sie den *_* Teil der Eingabe anzupassen versuchen, versuchen Sie folgendes Muster:

\*\_\* 
+0

versucht, aber für Java sollte ich nicht doppelte Backslashes setzen? – dexter

+0

@dexter Wortzeichen nicht entkommen, ein Unterstrich ist ein Wort char. '\ _' =' _' in Java Regex. –

+0

@ WiktorStribiżew In Ordnung, aber wie Sie sehen können, setze ich es ohne das. Aber immer noch nicht funktioniert! – dexter

Verwandte Themen