Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Регулярное выражение RegExp() (https://javascript.ru/forum/misc/48252-regulyarnoe-vyrazhenie-regexp.html)

Juul 26.06.2014 21:46

Регулярное выражение RegExp()
 
Всем привет!
подскажите пож-ста как сделать регулярку

исходный текст - <a href="/" title="Сладкий вареник" class="txt">Сладкий вареник</a><p>Вкусный пирожок горячий вареник</p>

Расположение слов может быть каким угодно.
нужно получить на выходе слово, кроме тех что засунуты в атрибут title="Сладкий вареник"

попытки таковы: /[^title="]Сладк/gi
вроде и работает, он не залазит в атрибут title, но если искать "вареник", то ни чего не выходит.
Помогите разобраться, может есть другие идеи.:cray:

рони 26.06.2014 22:35

Juul,
var str = '<a href="/" title="Сладкий вареник" class="txt">Сладкий вареник</a><p>Вкусный пирожок горячий вареник</p>';
    reg = /(>[^>]*?)вареник([^<]*?<)/g ;
    alert(str.replace(reg,'$1-ам!-$2'))

Aetae 27.06.2014 01:03

var str = '<a href="/" title="Сладкий вареник" class="txt">Сладкий вареник</a><p>Вкусный пирожок горячий вареник</p>';
    reg = /^<a.*?title="([^"]*)".*?>(.*?)\1?(.*?)<\/a>(.*)$/g ;
    alert(str.replace(reg,'$2$3$4'))

Наверное что-то типа такого?

Vlasenko Fedor 27.06.2014 01:22

Предполагаю :)
var str = '<a href=" / " title="Сладкий вареник" class="txt">Сладкий вареник</a><p>Вкусный пирожок горячий вареник</p>';

  var result = str.split(/<.+?>/);
  var tmp = [];
  for (var i = 0; i < result.length; ++i) {
    if (result[i]) {
      tmp.push(result[i]);
    }
  }
  console.dir(tmp);
  alert(tmp.join('\n'));


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