- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
private function parse (val : String) : Object {
while (val.indexOf(' ') != -1) {
val = val.replace(' ', '')
}
if (val.indexOf(',') != -1) {
var params : Array = val.split(',')
if (params[0] != 'auto') {
params[0] = [parseInt(params[0]), /(px|%)/.exec(params[0][1])]
}
if (params[1] != 'auto') {
params[1] = [parseInt(params[1]), /(px|%)/.exec(params[1])[1]]
}
return params
} else if (val == 'contain' || val == 'cover') {
return val
}
return null
}
kyzi007 05.04.2015 20:58 # 0
[('10px', 'auto', '')]
>>> re.findall('(auto|\d+px|%),(auto|\d+px|% )|(cover|contain)', 'cover')
[('', '', 'cover')]
Если что.
guest 11.02.2017 06:09 # −14
1024-- 05.04.2015 21:07 # +1
> while (val.indexOf(' ') != -1)
А нельзя val = val.replace(/ /g, '') как в жс?
> Если что.
И так тоже нельзя?
kyzi007 05.04.2015 21:14 # +1
Совесть успокаивает что это таки баннер.
1024-- 05.04.2015 21:30 # +1
kyzi007 05.04.2015 21:40 # +1
А что касается ас - он не старый, он убогий
1024-- 05.04.2015 21:46 # +1
А то у меня в жс Ваши питонячьи регулярки работают
И в документации по AS3 написано, что exec Returns Object — If there is no match, null <...> otherwise <...> element 0 contains the complete matching substring, and other elements of the array (1 through n) contain substrings that match parenthetical groups in the regular expression.
И в String.replace был пример на replace(/pitux/g, ...) для замены всех питухов.
Т.е. если AS3, то всё должно работать так же красиво.
kyzi007 05.04.2015 22:05 # +1
guest 28.01.2017 07:29 # −14
kyzi007 05.04.2015 22:07 # +1
wvxvw 05.04.2015 22:32 # +1
И вообще, из того, что сделано в АС, регулярки, пожалуй, одна из более вменяемых вещей. (Увы, полной позикс спецификации нет, как нет и всяких \P{...} и иже с ним, и нет плюшек типа пристроек к сараю, как в сисярпе, позволяющих парсить рекурсивные выражения, но все-таки по сравению с ж.скриптом, у АС тут лучше.)
А, и еще в АС есть именованые группы.
kyzi007 05.04.2015 23:19 # +1
wvxvw 05.04.2015 23:24 # +1
guest 11.03.2017 16:47 # −14
kegdan 05.04.2015 23:25 # +1
в жс нет? я регэспы в основном на шарпе юзал, там это в порядке вещей.
wvxvw 05.04.2015 23:54 # +1
kegdan 06.04.2015 00:39 # +1
guest 04.03.2017 03:39 # −14
guest 24.02.2017 15:50 # −14
guest 31.01.2017 18:35 # −14
SemaReal 19.10.2017 05:58 # +1
это называется "ретроспективная проверка"
SemaReal 19.10.2017 05:58 # +1
почитай книжку с совами от orielly. Mastering regular expressions называется.
Будешь потом сыпать регулярными выражениями куда ни попадя, все коллеги тебя проклянут, а потом ты напишешь регулярку с экспоненциальной сложностью(aka backtracking) и всё
wvxvw 05.04.2015 22:26 # +2
guest 31.01.2017 19:19 # −14
inkanus-gray 01.02.2017 17:07 # +1
— Страшно любезно от негова страна, че обърна, за да ни посрещне — промърмори Дрейк, дребен, приличащ на петел за борба, мъж с малки кръгли очи, къдрава тъмночервена коса и жълтеникавочервена брада, завършваща с остър връх под дълги увиснали мустаци.
— Най-малкото, което би могъл да стори, след като през изминалите две седмици неотклонно го следвахме по петите — отвърна Томас Кътил, шкипер на „Златната кошута“.
— Вярно, ала плячката си струва преследването.
barop 12.03.2017 04:39 # −15
- Ужасно љубазно од њега, то се испоставило да нас поздраве - промрмљао је Дрејк мали, као што пенис борби, човек са малим округлим очима, коврџавом тамно црвеном косом и брадом пешчане завршава у оштром тачке у дугом висећи бркове.
- Најмање је могао да уради након што је провео последње две недеље стално за петама - рекао је Катина Томас, водитељ "Голден Хинд".
- Тачно, али плен вреди јурити.