Ответы пользователя по тегу JavaScript
  • Как убрать последнее вхождение replace?

    @PavelMos
    Последнее вхождение в общем виде или последнее здесь ? Если здесь, то
    "\sг\.$" - пробел, г, точка, конец строки
    Ответ написан
    Комментировать
  • Как вырезать часть с ссылки регулярным выражением?

    @PavelMos
    Можно без регескспов, если надо вырезать целый кусок пути url. Разбить по / и потом собрать куски заново, кроме куска по нужной позиции - 6, вроде, если от http считать. webp также можно отбросить как символы на конце.
    Ответ написан
    Комментировать
  • Как регулярным выражением удалить все теги из строки вместе с содержимым?

    @PavelMos
    Удалить надо теги с содержимым или то, что между тегами ?
    Данный регексп теги со всем, что находится в угловых скобках, нормально удаляет.
    Если нужно удалять текст между тегами, нужно после первого регекспа, который ищет открывающий тег (а не любой) добавить поиск любого текста до закрывающего тега. Регексп может не работать на тексте с несогласующимися тегами

    <([^\/>]+)>.*?<.*?\/.*?>

    https://regex101.com/r/uxQJjJ/1
    Ответ написан
    Комментировать
  • Как написать регулярное выражение по поиску текста в скобках?

    @PavelMos
    Не проще ли идти так :
    1 любое количество любых символов до сочетание ( и пробела
    2 любое количество символов до двух закрывающие скобок, причём в этом выражении сделать группу, в которую последние две скобки не будут входить
    После применения регексп, как правило, возвращает сначала всё, что найдено, потом найденные группы по порядку.
    Соответственно, будет, например
    s='AnyAharacters(((((( AnyAhrr22aracters&#+-123(((( Взять zz(()))только этот текст ))'
    r='.*\(\s(.*)\){2}$'
    re.match(r,s)
    Out[36]: <_sre.SRE_Match object; span=(0, 82), match='AnyAharacters(((((( AnyAhrr22aracters&#+-123(((( >
    re.match(r,s)[1]
    Out[37]: 'Взять zz(()))только этот текст '
    s2="AnyAharacters(AnyAharacters&#+-123( Взять только этот текст ))"
    re.match(r,s2)[1]
    Out[44]: 'Взять только этот текст '


    Но это только если есть конкретный маркер (+пробел. Если будет другое сочетание или в тексте будут еще сочетания (+пробел, может не сработать, нужно что-то сложнее
    Ответ написан
  • Заменить окончания через JS?

    @PavelMos
    Можно же без регекспов
    var str1 = 'Зеленая поляна';
    re1='ная';
    re2='яна';
    var str_new = str1.replace(re1, 'ную');
    var str_new=str_new.replace(re2,'яну');


    Можно для падежей также https://morpher.ru/ использовать.
    Ответ написан
    2 комментария