Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Регулярка на JavaScript (перевый опыт) (https://javascript.ru/forum/events/41191-regulyarka-na-javascript-perevyjj-opyt.html)

ArtemKrass 03.09.2013 17:45

Регулярка на JavaScript (перевый опыт)
 
Всем привет!
Имееются такие куки:
__utma=1.1526313606.1378212773.1378212773.1378212773.1; __utmb=1.13.10.1378212773; __utmc=1; __utmz=1.1378212773.1.1.utmcsr=ru.grepolis.com|utmccn=(referral)|utmcmd=referral|utmcct=/; cid=924802064; sid=etclk3i5qggsoscckoksc8g8k; logged_in=true; toid=61036; PHPSESSID=FKBeHEhlXSAQFZdX3QFpj2


Мне нужно регуляркой брать текст из cid=. Т.е. добыть это: 924802064.

На JavaScript не писал регулярных выражений. Покажите пожалуйста для примера.

Почитал мануалы, но что-то не разобрался...

Вот есть переменная с куками:
var jo = document.cookie;


Вот то что сам смог накидать:
var expr = new RegExp('(cid=)(.*)(\;)', im );


А дальше???

Яростный Меч 03.09.2013 17:48

if (/\bcid=([^;]*)/.test('__utmz=1.lis.com|utmccn=(referral)|utmcmd=referral|utmcct=/; cid=924802064; sid=etclk3i5qggsoscckoksc8g8')) {
     alert(RegExp.$1);
}

ArtemKrass 03.09.2013 17:58

Спасибо, работает! Понять бы еще как...
А попроще кода нет?

КЛ@ВИШ_nick 03.09.2013 17:58

Цитата:

Сообщение от ArtemKrass
А попроще кода нет?

так проще?
var str = "__utma=1.1526313606.1378212773.1378212773.1378212773.1; __utmb=1.13.10.1378212773; __utmc=1; __utmz=1.1378212773.1.1.utmcsr=ru.grepolis.com|utmccn=(referral)|utmcmd=referral|utmcct=/; cid=924802064; sid=etclk3i5qggsoscckoksc8g8k; logged_in=true; toid=61036; PHPSESSID=FKBeHEhlXSAQFZdX3QFpj2" ;
alert(/(?:cid=)(\d+)(?=;)/.exec(str)[1]) ;

рони 03.09.2013 18:39

:)
var str = "__utma=1.1526313606.1378212773.1378212773.1378212773.1; __utmb=1.13.10.1378212773; __utmc=1; __utmz=1.1378212773.1.1.utmcsr=ru.grepolis.com|utmccn=(referral)|utmcmd=referral|utmcct=/; cid=924802064; sid=etclk3i5qggsoscckoksc8g8k; logged_in=true; toid=61036; PHPSESSID=FKBeHEhlXSAQFZdX3QFpj2" ;
alert(str.split("cid=")[1].split(";")[0]) ;

ArtemKrass 25.09.2013 10:28

Помогите пожалуйста с этой строкой:
...ITowns.initialize({"groups":null,"towns":[{"island_id":154563,"plenty":"stone","rare":"wood","population_extra":0,"has_conqueror":false,"researches":{"berth":true,"conscription":true,"mathematics":true},"favor":500},{"island_id":156890,"plenty":"stone","rare":"iron","population_extra":0,"has_conqueror":false,"researches":{"berth":false,"conscription":false,"mathematics":false},"favor":500}],"tmpl":...


Нужно выдернуть Json находящийся между
...ITowns.initialize({"groups":null,"towns":
и
,"tmpl":...


Попробовал все три способа, но что-то никак! Никак не даются регулярки на JavaScript, может пытаюсь вывести неправильно...

ArtemKrass 25.09.2013 17:49

Вот так получилось!
var str = '...ITowns.initialize({"groups":null,"towns":[{"island_id":154563,"plenty":"stone","rare":"wood","population_extra":0,"has_conqueror":false,"researches":{"berth":true,"conscription":true,"mathematics":true},"favor":500},{"island_id":156890,"plenty":"stone","rare":"iron","population_extra":0,"has_conqueror":false,"researches":{"berth":false,"conscription":false,"mathematics":false},"favor":500}],"tmpl":...';
alert(str.split("\"towns\":")[1].split(",\"tmpl")[0]) ;


Не знаю насколько правильно... Но буду использовать.
PS. как запустить скрипт на форуме?


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