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

MCTrane 05.01.2011 14:48

Помогите составить регулярное выражение
 
Мне нужно выражние которое в строке:
JOOMtest1*test2JOOM
Уберёт *test2
На php для preg_replace я написал:
Код:

"/(?<=JOOMtest1)([А-Яа-яA-Za-z0-9\D]+?)(?=JOOM)/"
На JavaScript не получается(
Кто знает, помогите пожалуйста.

Aetae 05.01.2011 16:42

alert('JOOMtest1*test2JOOM'.replace(/\*.+?JOOM/g,'JOOM'))

Но вообще не понятно насколько свободной может быть строчка, приведите пару примеров, если вышенаписанное не подойдёт.

MCTrane 05.01.2011 17:01

Спасибо, вроде подходит)

ksa 05.01.2011 18:08

Aetae, а чего не так?

alert('JOOMtest1*test2JOOM'.replace(/\*test2/g,''))

Aetae 05.01.2011 18:11

Потому и написал - что хз какая строка.
Мож там у него JOOMblablabla*parampampamJOOM.(что косвенно подтверждается приведённым им regexp'oм)
Потому и флаг g кстати.

ksa 05.01.2011 18:14

Цитата:

Сообщение от Aetae
хз какая строка

Вроде ясно все написано... :)
Цитата:

Сообщение от MCTrane
Мне нужно выражние которое в строке:
JOOMtest1*test2JOOM
Уберёт *test2

А у тебя все от * до JOOM просто заменится на JOOM, я правильно понял?

Aetae 05.01.2011 18:16

Цитата:

Сообщение от ksa (Сообщение 86381)
А у тебя все от * до JOOM просто заменится на JOOM, я правильно понял?

Да.

MCTrane 05.01.2011 23:29

А как использовать в выражении переменную?
т.е. вот выражние
/\*.+?\JOOM/g
Но у меня "JOOM" переменчив, как мне такое осуществить?

exec 06.01.2011 06:22

var text = "JOOM или что-то другое";
alert('JOOMtest1*test2JOOM'.replace(new RegExp("\\*.+?" + text, "g"), text))

MCTrane 06.01.2011 12:45

Не работает..
Вот например такой случай:
<script language="JavaScript" type="text/javascript">
var text = "JOOMtest1*";
alert('JOOMtest1*test2JOOMtest3%test4JOOM'.replace(new RegExp("\\*.+?" + text, "g"), text));
</script>

Должно вывестись JOOMtest1JOOMtest3%test4JOOM, а выводит JOOMtest1JOOMtest1*3%test4JOOM
P.S. Блин, как сделать чтобы можно было запустить код?


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