Это лучший путь, и ближе вы можете получить с помощью регулярных выражений.
(?i)\b(?=[a-z\d]{1,34}\b)(?:[a-z\d]{7})+\b
Внизу: '34'
составляет не более переменной длины, '7'
является кратным переменным фактором.
Они независимы друг от друга.
может построить это во время выполнения с любыми значениями переменной длины и множественности.
(?i) # No case
\b # Word boundary
(?= [a-z\d]{1,34} \b) # Max length = 34
(?: [a-z\d]{7})+ # Multiple factor = 7
\b # Word boundary
Вход:
length=7 aaaaaaa
length=14 bbbbbbbbbbbbbb
length=21 ccccccccccccccccccccc
length=28 dddddddddddddddddddddddddddd
length=35 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
Выход:
** Grp 0 - (pos 10 , len 7)
aaaaaaa
-------------
** Grp 0 - (pos 32 , len 14)
bbbbbbbbbbbbbb
-------------
** Grp 0 - (pos 58 , len 21)
ccccccccccccccccccccc
-------------
** Grp 0 - (pos 91 , len 28)
dddddddddddddddddddddddddddd
Используйте один на пять повторений группы ровно семь символов. –
@JonathanLeffler Я этого не понял, не могли бы вы написать пример кода? –
Как то, что @bro только что написал как ответ.Я бы предпочел не вводить регулярные выражения на клавиатуре iPad; это больно. –