- 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
}
[('10px', 'auto', '')]
>>> re.findall('(auto|\d+px|%),(auto|\d+px|% )|(cover|contain)', 'cover')
[('', '', 'cover')]
Если что.
> while (val.indexOf(' ') != -1)
А нельзя val = val.replace(/ /g, '') как в жс?
> Если что.
И так тоже нельзя?
Совесть успокаивает что это таки баннер.
А что касается ас - он не старый, он убогий
А то у меня в жс Ваши питонячьи регулярки работают
И в документации по 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, то всё должно работать так же красиво.
И вообще, из того, что сделано в АС, регулярки, пожалуй, одна из более вменяемых вещей. (Увы, полной позикс спецификации нет, как нет и всяких \P{...} и иже с ним, и нет плюшек типа пристроек к сараю, как в сисярпе, позволяющих парсить рекурсивные выражения, но все-таки по сравению с ж.скриптом, у АС тут лучше.)
А, и еще в АС есть именованые группы.
в жс нет? я регэспы в основном на шарпе юзал, там это в порядке вещей.
это называется "ретроспективная проверка"
почитай книжку с совами от orielly. Mastering regular expressions называется.
Будешь потом сыпать регулярными выражениями куда ни попадя, все коллеги тебя проклянут, а потом ты напишешь регулярку с экспоненциальной сложностью(aka backtracking) и всё
— Страшно любезно от негова страна, че обърна, за да ни посрещне — промърмори Дрейк, дребен, приличащ на петел за борба, мъж с малки кръгли очи, къдрава тъмночервена коса и жълтеникавочервена брада, завършваща с остър връх под дълги увиснали мустаци.
— Най-малкото, което би могъл да стори, след като през изминалите две седмици неотклонно го следвахме по петите — отвърна Томас Кътил, шкипер на „Златната кошута“.
— Вярно, ала плячката си струва преследването.
- Ужасно љубазно од њега, то се испоставило да нас поздраве - промрмљао је Дрејк мали, као што пенис борби, човек са малим округлим очима, коврџавом тамно црвеном косом и брадом пешчане завршава у оштром тачке у дугом висећи бркове.
- Најмање је могао да уради након што је провео последње две недеље стално за петама - рекао је Катина Томас, водитељ "Голден Хинд".
- Тачно, али плен вреди јурити.