是否有正則表達式可用于將String.split()String拆分為連續字符-即在下一個字符與前一個字符不同的地方拆分?這是測試用例: String regex = "your answer here"; String[] parts = "aaabbcddeee".split(regex); System.out.println(Arrays.toString(parts));預期產量:[aaa, bb, c, dd, eee]盡管測試用例僅以字母作為輸入,但這僅是為了清楚起見;輸入字符可以是任何字符。請不要提供涉及循環或其他技術的“替代方法”。問題是為上述代碼找到正確的正則表達式-即僅使用,split()而沒有其他方法調用。這不是尋找能夠“完成工作”的代碼的問題。
1 回答

慕絲7291255
TA貢獻1859條經驗 獲得超6個贊
完全有可能編寫要拆分的正則表達式:
"(?<=(.))(?!\\1)"
由于您想在每組相同的字符之間進行分割,因此我們只需要尋找2組之間的邊界。我通過使用正向后看只是抓住前一個字符,然后使用負向前看和向后引用來檢查下一個字符是否不是同一字符來實現此目的。
如您所見,正則表達式為零寬度(斷言僅2個)。正則表達式不會占用任何字符。
添加回答
舉報
0/150
提交
取消