Требуется помощь с регулярным выражением

#javascript #regex

#javascript #регулярное выражение

Вопрос:

Я надеюсь, что кто-нибудь сможет помочь мне найти подходящее регулярное выражение в javascript, которое удовлетворяет требованиям приведенного ниже заявления. Я попробовал несколько выражений, но включение символа звездочки в качестве символьного литерала в поиске усложняет задачу.

Учитывая строку str, сопоставьте и замените все вхождения символа звездочки правильной управляющей последовательностью, чтобы рассматривать его как символьный литерал, но игнорируйте любой символ звездочки, содержащийся в последовательности, подобной этой в строке: <*>

Любая помощь, очень ценится. Danie

Комментарии:

1. Какие выражения вы пробовали?

2. Приведите нам несколько примеров того, чему вы хотите соответствовать, а чему нет (и что вы, конечно, пробовали;))

3. Звучит так, как будто вы просите нас сделать за вас домашнее задание или пройти собеседование при приеме на работу.

Ответ №1:

     var x='xx**<*>*><*<*>>>*';
    x=x.replace(/(<)?*(>)?/g, function($0, $1 ,$2){

        return $1 ? $2 ? $0 : 'y' : $2 ? 'y' : 'y';
});
alert(x);
  

http://jsfiddle.net/yDT25/

Ответ №2:

Если это именно та <*> последовательность, в которой вам нужно избегать замены * (и вы используете PCRE или что-то подобное), то вы можете использовать что-то вроде: /(?<!<)*(?!>)/

Комментарии:

1. javascript не поддерживает поисковые системы

2. проклятый js, не заметил тега.