У меня проблема с определенным регулярным выражением, которое возвращает значение, отличное от ожидаемого при работе в Android Studio.
Сценарий:
Код прост:
val regex = "(?<=N|E|\\G)\\d{2}(?=\\d*$)".toRegex()
print("${regex.findAll("N2032354345").count()}")
Это должно вывести 5, поскольку в этой строке 5 совпадений (https://regex101.com/r/6PDbkI/1) и если мы запустим Ideone.com или Kotlin Playground , результат ожидается 5 *. 1016 *
Однако в Android Studio результат равен 1:
Теория:
Похоже, что регулярное выражение в Android Studio не может использовать оператор \G
(что может быть связано с разделением Kotlin с регулярным выражением не так, как ожидалось )
Кто-нибудь сталкивался с такой же проблемой? Есть ли способ изменить регулярное выражение на аналогичное, которое не работает в Android Studio? Я что-то пропустил?