Javascript.RU

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

Замена в регулярном выражении подстрок
Подскажите - как решаются подобные классы задач:
С помощью регулярного выражения в совпадающем фрагменте найти и заменить текст, соответствующий n-ной скобке.

Например:
в строке
"1285423808063"

в соответствии с регулярным выражением
/[^3](8)(0)[6-8]/

заменить 8 на *
и 0 на +
чтобы получилось
"128542380*+63"
Ответить с цитированием
  #2 (permalink)  
Старый 24.05.2019, 12:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 26,299

Rust,
var str = "1285423808063";
str = str.replace(/(380)(\d{2})/, "$1*+");
alert(str);
Ответить с цитированием
  #3 (permalink)  
Старый 24.05.2019, 12:46
Аватар для Rust
Интересующийся
Отправить личное сообщение для Rust Посмотреть профиль Найти все сообщения от Rust
 
Регистрация: 24.05.2019
Сообщений: 10

Нужно общее решение. С частными всё понятно
Ответить с цитированием
  #4 (permalink)  
Старый 24.05.2019, 12:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 26,299

Сообщение от Rust
Нужно общее решение.
уточните вопрос?
Ответить с цитированием
  #5 (permalink)  
Старый 24.05.2019, 12:55
Аватар для Rust
Интересующийся
Отправить личное сообщение для Rust Посмотреть профиль Найти все сообщения от Rust
 
Регистрация: 24.05.2019
Сообщений: 10

Для понимания, нужно дописать
function(v,s) {
  return v.replace(s, function(f) {
    ...
  });
}
так, чтобы при любой строке v и любом регулярном выражении s текст, соответствующий n-ной скобке обрамлялся тегами:
<span class=Pn>$n</span>
Ответить с цитированием
  #6 (permalink)  
Старый 24.05.2019, 13:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 26,299

Сообщение от Rust
Для пониман
не понимаю, можно примеры, строка на входе и строка на выходе.
Ответить с цитированием
  #7 (permalink)  
Старый 24.05.2019, 13:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 26,299

Rust,
возможно вы хотели так
var str = "1285423808063";
function r(v,s,n) {
  return v.replace(s, function(f) {
     return --n ? f : '"'+f+'"'
  });
}
str = r(str, /\d{2}/g,3);
alert(str);
Ответить с цитированием
  #8 (permalink)  
Старый 24.05.2019, 13:27
Аватар для Rust
Интересующийся
Отправить личное сообщение для Rust Посмотреть профиль Найти все сообщения от Rust
 
Регистрация: 24.05.2019
Сообщений: 10

строка:
Ну что сказать? -12.85 - это отрицательное число, а 0.86 - положительное

регулярное выражение:
/[^-\d.](\d+)(\.\d+)?/g


Результат:
Ну что сказать? -12.85 - это отрицательное число, а <span class=P1>0</span><span class=P2>.86</span> - положительное
Ответить с цитированием
  #9 (permalink)  
Старый 24.05.2019, 13:29
Аватар для Rust
Интересующийся
Отправить личное сообщение для Rust Посмотреть профиль Найти все сообщения от Rust
 
Регистрация: 24.05.2019
Сообщений: 10

Повторяю. Строка и регулярка могут быть любой.
Обработку пишу я. Мне нужен общий метод.
Ответить с цитированием
  #10 (permalink)  
Старый 24.05.2019, 13:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 26,299

Сообщение от Rust
Мне нужен общий метод.
пост #7
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пробел в регулярном выражении N1kS Общие вопросы Javascript 5 25.06.2016 15:59
Экранирование спецсимволов в строковом регулярном выражении riva Общие вопросы Javascript 2 26.09.2014 14:46
Помощь в регулярном выражении! celkabelka Общие вопросы Javascript 5 13.04.2013 16:53
Способ реализации позитивного просмотра в перед в регулярном выражении kichSman Общие вопросы Javascript 10 11.04.2012 20:19
Как в регулярном выражении обозначается "может быть а может и не быть" ? [MI_nor] Общие вопросы Javascript 4 30.11.2011 19:09