1
- 與lineSequence開始
- 我想測試一個正則表達式匹配,如果是,率先拿到賽
- 此外,我想從正則表達式匹配返回捕獲組
如果我不在乎,我會在線序上做一個「第一個」,如果存在,重新運行正則表達式。Kotlin:如何獲得匹配的第一行的捕獲組?
val possibleMatch = input.lineSequence().first { myRegex.matches(it) }
...但我想成爲kotlin酷,不必重新運行正則表達式。我應該使用地圖到MatchGroup並篩選出空值嗎?感覺更詳細的比它可能是......
input.lineSequence()
.mapNotNull { myRegex.find(it) }
.map { it.groupValues[1] }
.first()
它可能會感覺更詳細,但你的意圖似乎很清楚(主觀,是)。 – Todd