Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Как одной регулярной найти все матчи? (https://javascript.ru/forum/offtopic/38322-kak-odnojj-regulyarnojj-najjti-vse-matchi.html)

megaupload 28.05.2013 10:56

Как одной регулярной найти все матчи?
 
"{{chat.input + window.input}} {{chat.input + window.input}}"

как одной регуляркой найти все матчи типа chat.input и window.input

\w+\.\w+


а никак

mta88 28.05.2013 11:47

попробуй модификатор global
g
/\w+\.\w+/g
"{{chat.input + window.input}} {{chat.input + window.input}}".match(/\w+\.\w+/g)

megaupload 28.05.2013 12:00

mta88, я думал не стоит говорить что все же присутствие кода в {{тегах}} стоит учитывать, но ошибся.

kobezzza 28.05.2013 13:30

Для нормального шаблонизатора одних регулярок не хватит. В твоём случае хз конечно, но у себя я строил дерево по коду и уже от него плясал.

ЗЫ: будь другом, сделай себе нормальную аватарку.

megaupload 28.05.2013 14:29

Цитата:

Сообщение от kobezzza
но у себя я строил дерево по коду и уже от него плясал.

дерево то я построил уже, там маркеры модулей они наполняются виджетами и текстовыми нодами связанными с этими модулями, и вот нужно определить к каким модулям какие текстовые ноды привязаны и на какое свойство вешать обсервер )

короче придется делать "некрасиво"

Цитата:

Сообщение от kobezzza
ЗЫ: будь другом, сделай себе нормальную аватарку.

я пытаюсь "сами знаете кто" решил толсто пошутить.

Aetae 28.05.2013 14:43

А что не так с //g то?

megaupload 28.05.2013 14:46

Цитата:

Сообщение от Aetae
А что не так с //g то?

Ну, надо например учитывать чтобы они находились в тегах {{в.тегах + а.тут}} могут находиться 2 обращения к модулям.

Maxmaxmaximus.js 28.05.2013 22:07

пасоны, вопрос задротам) что вернет этот код)? и сработает ли он)?

d:{d = void 1|0/1}.2

kobezzza 28.05.2013 22:21

Цитата:

Сообщение от Maxmaxmaximus.js (Сообщение 253254)
пасоны, вопрос задротам) что вернет этот код)? и сработает ли он)?

d:{d = void 1|0/1}.2

Гм...

d: {} - это блок с меткой
void 1 - даст undefined, следовательно результат 0/1 (0). Т.к. у нас не блочная видимость (хотя let уже в некоторых браузерах есть), то блок вернёт своё последнее значение, т.е. результат d = 0 => 0. Ну а .2 будут применены к полученному нулю: в итоге будет 0.2.

Maxmaxmaximus.js 28.05.2013 22:26

Цитата:

Сообщение от kobezzza
Ну а .2 будут применены к полученному нулю

alert( eval("{2}.4") )


ну а вообще ты крут, я наебался с приоритетом войда


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