我試圖從字符串中打印出一個模式。在字符串中查找正則表達式
String stringToProcess = "Test Test Hello World Test Test";
String pattern = "Hello\\sWorld";
System.out.println(stringToProcess.substring(stringToProcess.indexOf(pattern), stringToProcess.lastIndexOf(pattern)));
當我運行此代碼時,它似乎給出了很多錯誤,具體取決於我如何嘗試更改並修復它。由於它的正上方,它給人的錯誤:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
請注意:我已經很清楚這樣做的Pattern.compile(regex, Pattern);
方式。我想以不同的方式做到這一點。
'indexOf()'不適用於正則表達式,參見[documentation](http://docs.oracle.com/javase/7/docs/api/ java/lang/String.html#indexOf(java.lang.String)) – jlordo
有沒有辦法解決它? – ThreaT
我知道的唯一的另一種方式是使用'Matcher.start()'....但涉及'Pattern.compile(正則表達式,模式)',你已經知道。 – NawaMan