У меня есть такая строка ввода
val input = """["abc:def&ghi:jkl"]"""
Я хочу извлечь abc
и ghi
Так что я написал это регулярное выражение, которое работает
val regex = """(?<=["&])(\w+)(?=[:])""".r
regex.findAllIn(input).foreach(println)
Так что в основном у меня естьвзгляд вперед на :
и взгляд на "
или &
.
Пока все хорошо. Но теперь у меня есть такой ввод:
val input = """["abc:de_&_f:xyz&ghi:jkl"]"""
, он соответствует
abc
_f
ghi
Я хочу изменить логику своего регулярного выражения.
Совпадение с \w+
, когда прогноз вперед - это верно для :
, а взгляд назад - для &
и false для _&_
Так что я хочу использовать положительные и отрицательные значенияоглянуться в то же время. Как мне это сделать?