2012-08-22 11 views
5

Angenommen, ich eine Schnur haben, und die folgenden Tests darauf laufen:Substring gefunden wird, aber regex nicht

response.indexOf("</p:panelGrid>"); 
response.matches(".*</p:panelGrid>.*"); 

Wie es möglich ist, dass indexOf die Teil findet (es ist nicht -1 zurückkehrt), aber die regulären Ausdruck im zweiten Test tut nicht übereinstimmen?

Ich bin auf dieses Problem gestoßen, als ich versuchte, einen Test zu schreiben, der überprüft, ob Taglibs korrekt in JSF mit Pax Web gerendert werden. Ich war nicht in der Lage, dieses Verhalten außerhalb dieses Tests zu reproduzieren.

+0

Wahrscheinlich haben Sie Escape-Zeichen. – m3th0dman

+6

Geben Sie einen String an, der ein solches Verhalten aufweist. –

Antwort

7

Die . stimmt mit allem außer Newline-Zeichen überein. Sie müssen Ihre Regex-Zeichenkette in

ändern Dann wird es immer übereinstimmen.

+0

Ich denke, ich hätte das Handbuch besser lesen sollen. Vielen Dank! –

Verwandte Themen