Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите составить регулярное выражение (https://javascript.ru/forum/misc/14205-pomogite-sostavit-regulyarnoe-vyrazhenie.html)

MCTrane 07.01.2011 09:35

В этой строке просто формулы прописаны, и их надо как-то удалять при удалении элемента

x-yuri 07.01.2011 16:48

Цитата:

Сообщение от Aetae
Это было бы не интересно, ибо гарантированно он делает что-то через тоннель, а в таком случае пришлось бы его сразу посылать rtfm и не маяться фигнёй.)

:lol: ну да, наивно полагать, что кто-то приходит сюда, чтобы помогать людям... но я все же предпочитаю решать реальные задачи, а не надуманные ;)

MCTrane, а почему не хранить формулы в объекте (ассоциативном массиве)?
var formulas = {
    'test1': '<формула>',
    ...
};
delete formulas['test1'];

MCTrane 10.01.2011 00:01

Цитата:

MCTrane, а почему не хранить формулы в объекте (ассоциативном массиве)?
Потому что формула нужна в разных функциях.

Ещё вопрос есть.
Мне ещё надо рег. выражение которое было обратно то которое сделали, т.е. "неизвестное" будет перед "*".
Я пытался делать так:
var text = "test3";
var z2 = "JOOMtest1*test3JOOMtest2*test4JOOM";
	var beg2 = 'JOOM';
    var end2 = text+"JOOM";
var end = "JOOM";
	test2=new RegExp(beg2+'+?.'+end2, "g")
	alert(z2.replace(test2,end))

Что-то не работает... Подскажите пожалуйста, что не так?

x-yuri 10.01.2011 00:05

Цитата:

Сообщение от MCTrane
Потому что формула нужна в разных функциях.

и? Если ты хочешь, чтобы решили твою сферическую проблему в вакууме - жди ответа Aetae. Иначе расскажи подробно, что ты делаешь...

Aetae 10.01.2011 00:14

Не, Aetae дважды в одной теме ленивым халявщикам не отвечает.)

MCTrane 10.01.2011 14:27

x-yuri,
Есть строка
JOOMtest2*test1JOOMtest3*test4JOOMtest5*test6JOOM
В функцию поступил аргумент "test1", и эта функция должна вырезать тот участок строки где есть "test1", т.е. должно получиться после вызова такой функции так:
JOOMtest3*test4JOOMtest5*test6JOOM
Ещё один пример:
Строка:
JOOMtest2*test1JOOMtest3*test4JOOMtest1*test2JOOMt est5*test6JOOM
Аргумент: test1
Должно получиться: JOOMtest3*test4JOOMtest5*test6JOOM

Выше представленный код почему-то не работает.(

x-yuri 10.01.2011 15:59

что в этих строках храниться? Для чего они нужны? Кто придумал такой формат? Начни ответ так: я делаю сайт, на котором...

MCTrane 10.01.2011 16:28

x-yuri,
Придумал формат я. Я просто пытаюсь разобраться в регулярных выражениях в js, в php разобрался, сначала вообще хотел через аякс делать, но узнал что в js тоже есть рег. выражения, только вот литературы по ним нормальной нет, на всех сайтах одно и тоже.
В строке хранятся формулы. И мне надо их удалить зная только 1 элемент формулы.

monolithed 10.01.2011 16:55

Цитата:

Сообщение от x-yuri
Если ты хочешь, чтобы решили твою сферическую проблему в вакууме - жди ответа Aetae.

ага, Aetae это он хорошо умеет)))))
Цитата:

Сообщение от MCTrane
Придумал формат я

а спецификации еще нет?
Цитата:

Сообщение от MCTrane
сначала вообще хотел через аякс делать, но узнал что в js тоже есть рег. выражения

вы в своем уме Ajax == JavaScript

MCTrane 10.01.2011 17:02

monolithed,
"вы в своем уме Ajax == JavaScript"
Ну я имею ввиду делать запрос к php.
monolithed,
"а спецификации еще нет?"
Не знаю.

Блин, обьясните пожалуйста почему рег. выражение beg2+'+?.'+end2 не работает? Если я правильно понимаю то "+?" обозначает неизвестные символы, это ".", любой символ. И получается JOOM[неизвестные_символы](любой_символ)test3JOOM


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