我想要將字符串與字符串之前和之後的字符分開。在字符串中的模式之前分隔一個字符
我有一個像這樣的字符串ihavehashasaahasabig有一個3「模式」的模式,我想在第一個「有」之前有一個字符,最後一個字符是「有」。
輸出應該是這樣的。
ehashasaahasa
但是,當我用這個代碼
String seq1="ihavehashasaahasabig";
Pattern pat =Pattern.compile("\\w.has.*?has.*?has.\\w");
Matcher m=pat.matcher(seq1);
while (m.find())
{
System.out.println(m.group());}
輸出是這樣的: - vehashasaahasab
現在我應該怎麼做才能解決我的問題。
從兩端刪除'\\ w'。 –
這很難。除非你知道每一個模式('有'只是一個,還有多少個),你不會用正則表達式來實現它。正則表達式就像其他任何系統一樣,你必須告訴它做什麼。如果你有無限的可能性,那麼嘗試就會很頭疼。所以我會問'我有多少模式匹配',如果你不能回答這個問題,那麼正則表達式不適合你的情況 – gwillie
@gwillie他只是想匹配第一個'has'到最後'has'。正則表達式我不會那麼困難。 –