Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.02.2018, 21:35
Аспирант
Отправить личное сообщение для АнонимныйПарень Посмотреть профиль Найти все сообщения от АнонимныйПарень
 
Регистрация: 17.03.2017
Сообщений: 67

Регулярки js
Анализирую строку: 'peremennaya=«значение»'
Нужно заменить её на: ' peremennaya=«значение» '

Тоесть добавить пробелы вначале и в конце.

Вместо текста peremennaya может быть любое значение, например:
' title=«PAGE» '
' src=«www.google.com» '
' anytext=«any_value» '

Как реализовать на регулярках, если строка типа:
'peremennaya=«значение»' уже есть?

Последний раз редактировалось АнонимныйПарень, 13.02.2018 в 22:25.
Ответить с цитированием
  #2 (permalink)  
Старый 13.02.2018, 21:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

АнонимныйПарень,
alert( 'peremennaya=«значение»'.replace(/(\S+=«)([^»]+)(»)/ , "$1$3") );
Ответить с цитированием
  #3 (permalink)  
Старый 13.02.2018, 22:07
Аспирант
Отправить личное сообщение для АнонимныйПарень Посмотреть профиль Найти все сообщения от АнонимныйПарень
 
Регистрация: 17.03.2017
Сообщений: 67

Не работает!
Входящая строка:
'<p style="color: white;"> Lorem ipsum. </p>'

Действия:
source.replace(/\s*/g,''); //убираю пробелы, табы, переносы строк
source.replace(/(\S+=$&)([^$&]+)($&)/ , " $1$3");


Выходящая:
'<pstyle="color:white;">Loremipsum.</p>'

НО атрибут слился с началом тега, а я хотел что-бы
'style="color:white;"' заменился на
' style="color:white;" '

Как этого добиться, прошу вас! Пожалуйста!
Ответить с цитированием
  #4 (permalink)  
Старый 13.02.2018, 22:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Сообщение от АнонимныйПарень
Не работает!
кавычки ваших примерах разные!!!
alert( '<p style="color: white;"> Lorem ipsum. </p>'.replace(/(\S+=")([^"]+)(")/ , "$1$3") );
Ответить с цитированием
  #5 (permalink)  
Старый 13.02.2018, 22:25
Аспирант
Отправить личное сообщение для АнонимныйПарень Посмотреть профиль Найти все сообщения от АнонимныйПарень
 
Регистрация: 17.03.2017
Сообщений: 67

Неправильно выразился в начале, уже исправил, гляньте 1 пост
Ответить с цитированием
  #6 (permalink)  
Старый 13.02.2018, 22:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Сообщение от АнонимныйПарень
Тоесть добавить пробелы вначале и в конце.
alert( '<p style="color: white;"> Lorem ipsum. </p>'.replace(/(\S+="[^"]+")/ , " $1 ") );
Ответить с цитированием
  #7 (permalink)  
Старый 13.02.2018, 22:42
Аспирант
Отправить личное сообщение для АнонимныйПарень Посмотреть профиль Найти все сообщения от АнонимныйПарень
 
Регистрация: 17.03.2017
Сообщений: 67

А как бы убрать все пробелы, а потом там их вставить той штукой что ты написал? Пробую так:
source = source.replace(/\s*/g,'');
source = source.replace(/(\S+="[^"]+")/ , " $1 ");

В итоге входит строка:
<p style="color: white;"> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Natus obcaecati, unde cupiditate sint iure quo non in dolorem repudiandae mollitia recusandae provident nostrum, minus minima ipsam fuga, molestiae eaque itaque. </p>


Выходит строка:
<pstyle="color:white;" >Loremipsumdolorsitamet,consecteturadipisicingelit.Natusobcaecati,undecupiditatesintiurequononindoloremrepudiandaemollitiarecusandaeprovidentnostrum,minusminimaipsamfuga,molestiaeeaqueitaque.</p>


И опять атрибут слился с началом тега. Как изменить?
Ответить с цитированием
  #8 (permalink)  
Старый 13.02.2018, 22:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Сообщение от АнонимныйПарень
А как бы убрать все пробелы, а потом там их вставить той штукой что ты написал? Пробую так:
либо не понимаю, либо не знаю ... не могу помочь
Ответить с цитированием
  #9 (permalink)  
Старый 13.02.2018, 22:48
Аспирант
Отправить личное сообщение для АнонимныйПарень Посмотреть профиль Найти все сообщения от АнонимныйПарень
 
Регистрация: 17.03.2017
Сообщений: 67

Если будут идеи пиши
Спасибо за то что помогал, лайк тебе!
Ответить с цитированием
  #10 (permalink)  
Старый 14.02.2018, 15:23
Профессор
Отправить личное сообщение для Manyasha Посмотреть профиль Найти все сообщения от Manyasha
 
Регистрация: 21.09.2015
Сообщений: 196

Сообщение от АнонимныйПарень Посмотреть сообщение
Выходит строка:
<pstyle="color:white;" >Loremipsumdolorsitamet,consecteturadipisicingelit.Natusobcaecati,undecupiditatesintiurequononindoloremrepudiandaemollitiarecusandaeprovidentnostrum,minusminimaipsamfuga,molestiaeeaqueitaque.</p>

И опять атрибут слился с началом тега. Как изменить?
а то что остальные пробелы удалились, это нормально?
Или их не надо было удалять и вы пытаетесь предусмотреть вариант, когда пробел уже есть:
<p style="color:white;" >
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Диалог между HTML и внешним JS в контексте расширения GoogleChrome ev1lart Events/DOM/Window 0 26.04.2017 19:25
JS Coaching для стартапа OlgaAyva Работа 12 27.09.2011 22:18
Картинка обрабатывается js 4yBaK Общие вопросы Javascript 10 11.09.2011 09:28
Срочно JS developer okp Работа 13 23.08.2011 16:16
Срочно JS developer okp Работа 7 14.06.2011 14:54