我有嘗試restString = restString.replaceAll("\\<.*\\>", "");
在一個字符串刪除 「<」 和 「>」 之間的任何
和
restString = restString.replaceAll("\\<[^(\\>)]*\\>", "");
。
兩者似乎都不起作用。我不知道我是否可以在正則表達式中表達意義。
我有嘗試restString = restString.replaceAll("\\<.*\\>", "");
在一個字符串刪除 「<」 和 「>」 之間的任何
和
restString = restString.replaceAll("\\<[^(\\>)]*\\>", "");
。
兩者似乎都不起作用。我不知道我是否可以在正則表達式中表達意義。
要使用正則表達式解決這個問題,你需要「東張西望」 - 使用回顧後和lookbefore:
restString = restString.replaceAll("(?<=<).*(?=>)", "");
環視表達式將通過正則表達式引擎進行評估,但他們不會比賽的一部分。 這種方式可以刪除BETWEEN & lt;和& gt;
如果它應該是nongreedy並能夠匹配多行,像anubhava使用表達式曾建議:
restString = restString.replaceAll("(?s)(?<=<).*?(?=>)", "");
要了解更多關於lookarounds,請訪問此頁:http://www.regular-expressions.info/lookaround.html
感謝您的回答!我沒有說清楚,我還需要刪除'<'和'>'。 lookaround表達式絕對有用! –
嘗試只有一個斜槓,\ &lt; –
@ Java中的X-Pippes創建\ literal我們需要把它寫成'「\\」',因爲它是String中的特殊字符,就像它在正則表達式中是特殊的。 – Pshemo