Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Мой RegExp для поиска цветов. (https://javascript.ru/forum/project/27763-mojj-regexp-dlya-poiska-cvetov.html)

devote 24.04.2012 18:42

Цитата:

Сообщение от 9xakep
Воспоминания из дества))

дауж, не такое уж и далекое детство )))

trikadin 24.04.2012 18:46

Товарищ, учи регэкспы правильно! (с)

А если по теме:
Цитата:

Сообщение от Раед
А можешь пояснить, что значит \b и чем отличается от [\s^$].

\b находит границу слов, например пробел. От [\s^$] отличается тем, что не добавляет граничный символ в результат, что нам и нужно.

Цитата:

Сообщение от Раед
И ещё по поводу \d*?. Разве могут быть единицы измерения без цифр?

\d*? - это нежадный поиск нескольких цифр. Но вообще - вы правы, там должен стоять +.

Цитата:

Сообщение от Раед
А вот без самих обозначений (ну px и т.п.) могут.

Не могут. Моя рега их и не ищет.

Окончательный вариант(с плюсиком)

re=/\b\d+(?:px|em|%|mm|cm|pt|pc|ex)\b/gi
str= " 1em 1 em 2cm 1 1px 2empx";
alert("'" + str.match(re) + "'");


Цитата:

Сообщение от 9xakep
Воспоминания из дества))

Там у вас ошибка, а не различия в языках.

Раед 24.04.2012 18:50

Цитата:

Сообщение от trikadin
Не могут.

Да ну. Типа
body{margin:0;padding:0}
это уже не правильно?

devote 24.04.2012 18:53

Цитата:

Сообщение от Раед
Да ну. Типа body{margin:0;padding:0}это уже не правильно?

ну дык добавь ноль:
re=/\b\d+(?:px|em|%|mm|cm|pt|pc|ex)\b|\b0\b/gi
str= " 1em 1 em 2cm 0 10 1px 2empx";
alert("'" + str.match(re) + "'")

trikadin 24.04.2012 18:56

Цитата:

Сообщение от Раед
это уже не правильно?

Это верный css-синтаксис, согласен. А вы ищете единицы измерения в строке. Чувствуете разницу?

В любом случае, если нужно с поддержой такой штуки - то:
re=/\b(?:\d+(?:px|em|%|mm|cm|pt|pc|ex))|0\b/gi
str= " 1em 1 0 0em em 2cm 1 1px 2empx";
alert("'" + str.match(re) + "'");


P. S. devote, опередил)

melky 24.04.2012 19:13

Цитата:

Сообщение от trikadin (Сообщение 171027)
Это верный css-синтаксис, согласен. А вы ищете единицы измерения в строке. Чувствуете разницу?

не надоест все в регу добавлять?
http://www.w3.org/TR/css3-values/

trikadin 24.04.2012 19:16

melky, надоест) А твои варианты?)

Раед 24.04.2012 19:16

Цитата:

Сообщение от trikadin
Это верный css-синтаксис, согласен. А вы ищете единицы измерения в строке. Чувствуете разницу?

Ну если честно, то в строке стилей

Раед 24.04.2012 19:18

Цитата:

Сообщение от melky
не надоест все в регу добавлять?
http://www.w3.org/TR/css3-values/

С английским конечно проблемы, но то что есть всякие там dppx, vmin и т.п. я понял. Вот только вы сами их хоть раз юзали?

trikadin 24.04.2012 19:24

Цитата:

Сообщение от Раед
Ну если честно, то в строке стилей

Просто добавь 0))


Часовой пояс GMT +3, время: 19:45.