Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Поиск и замена в переменной (https://javascript.ru/forum/dom-window/70633-poisk-i-zamena-v-peremennojj.html)

ksa 22.09.2017 08:21

Цитата:

Сообщение от Rasy
Пока набиваю руку в регулярках
\s{1}

Явно перебор...

ksa 22.09.2017 10:05

Цитата:

Сообщение от Rasy (Сообщение 465092)
Простой вариант. Пока набиваю руку в регулярках

var str = `text text
text
id 34355
text text
id 35235
text
text
id 45346`;
str = str.replace(/(id\s{1}\d+)(\D+id\s{1}35235\s)([a-zA-Z0-9\n\s]+)/im, '$1\n$3');
alert(str);

Предложу такой вариант...
var str = `text text
text
id 34355
text text
id 35235
text
text
id 45346`;
str = str.replace(/(id\s\d+)[\S\s]*?id\s35235/img, '$1');
alert(str);

Rasy 22.09.2017 10:29

ksa,
:thanks:

рони 22.09.2017 11:15

ksa,
:nono: где text text
id 35235
?
var str = `text text
text
id 34355
text text
id 35235
text
text
id 45346`;
str = str.replace(/(id\s\d+)[\S\s]*?id\s45346/img, '$1');
alert(str);

ksa 22.09.2017 13:43

Цитата:

Сообщение от рони
где text text
id 35235
?

Так ведь их нужно удалять по условию задачи... :blink:

ksa 22.09.2017 13:44

Цитата:

Сообщение от dima85 (Сообщение 465088)
Примеры, целая src
text text
text
id 34355
text text
id 35235
text
text
id 45346


Если line = "35235" то удаляем 4-5 строчки, получаем это:
text text
text
id 34355
text
text
id 45346

Вроде все как нужно...

рони 22.09.2017 13:53

ksa,
line это переменная смотри пост №8 самый нижний пример и пост №14

dima85 22.09.2017 20:28

var line = "45346", reg = new RegExp("((id)\\s+(\\d+))[^\\d]+?"+line, "mig");
	k.value = k.value.replace(reg, "$1")


Помогите пожалуйста разобрать эти строчки
(id)\ - наше слово id
\s+ любое количество пробелов
(\\d+) - любые цифры
((id)\\s+(\\d+)) - то есть ищем до вышетоящего id с пробелом и цифрами.

[^\\d] - не понимаю, какие-то цифры. А где id?
"mig" - тоже не понимаю.

рони 22.09.2017 20:42

Цитата:

Сообщение от dima85
[^\\d] - не понимаю, какие-то цифры

всё что не числа
Цитата:

Сообщение от dima85
"mig" - тоже не понимаю.

вам ссылку давали
Цитата:

Сообщение от рони
и 3 флага

Цитата:

g — глобальный поиск (обрабатываются все совпадения с шаблоном поиска);
•i — не различать строчные и заглавные буквы;
•m — многострочный поиск.

рони 22.09.2017 20:43

Цитата:

Сообщение от dima85
то есть ищем до от вышетоящего id с пробелом и цифрами.

:write:


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