Показать сообщение отдельно
  #5 (permalink)  
Старый 21.04.2013, 22:00
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,597

Сообщение от sitesv Посмотреть сообщение
Aetae, спасибо!!!!
Это регулярное выражение?
Да.
Сообщение от sitesv Посмотреть сообщение
Я не могу понять как интерпретировать его.
Такое часто бывает с регулярками.)

Тут особая хитрость. String.split разбивает строку на массив по другой строке либо регулярке.

x(?=y) - найти x, за которым следует y(но не включая его)
. - любой символ(кроме переносов строки)
(?:x) - незапоминающие скобки, нужные только для группирования.
+ - множитель: 1 или более раз.
$ - конец строки.

Поскольку перед (?=y) нет никакого x - x равен пустой строке: ''.

И того:
String.split(/(?=(?:..)+$)/)
Разбить строку по пустой строке, за которой повторяются один или более раз два любых символа до тех пор пока не упрутся в конец строки.
Соответственно сначала он находит
''(?=0102030405060708090A0B0C), потом ''(?=2030405060708090A0B0C) итд.
__________________
29375, 35

Последний раз редактировалось Aetae, 21.04.2013 в 22:04.
Ответить с цитированием