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

dima85 22.09.2017 22:55

src может быть и таким:
text t55ext
text gd6!333 43
id 395

text text
text gd!333 43
id 34355

text te>xt = 34
text= <44
id 45346

То есть там могут быть не только буквы но и цифры и спец символы и enter.

Попробовал сделать вот так:
var line = "45346", reg = new RegExp("((id)\\s+(\\d+))[^\]+?id "+line, "mig");
k.value = k.value.replace(reg, "$1")

Но удаляются и лишние строки.

рони 23.09.2017 00:05

dima85,
<textarea id="k" name=""  rows="12" >
text t55ext
text gd6!333 43
id 395

text text
text gd!333 43
id 34355

text te>xt = 34
text= <44
id 45346


</textarea>
 <script>

var line = "45346", reg = new RegExp("([\\s\\S]+?)(id\\s+\\d+)", "mig");

k.value = k.value.replace(reg, function(a,b,c) {

return new RegExp("^id+\\s+"+line+"$").test(c) ? ""  : a
})
  </script>

Rasy 23.09.2017 11:36

Цитата:

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

Цитата:

Сообщение от рони (Сообщение 465176)
всё что не числа

Разве? Зачем ты экранируешь классы символов?
var str = 'ab25sz';
console.log(str.match(/[^\d]/g)); // все что не числа
console.log(str.match(/[^\\d]/g)); // все совпадения

Rasy 23.09.2017 11:52

Вопрос снят. Не заметил сразу определение через конструктор.

ksa 25.09.2017 09:03

Цитата:

Сообщение от рони
line это переменная

Я это понял... :yes:
Просто не использовал
new RegExp()

поленился.
Написал значение той переменной литерально. Пусть автор сам дальше реализовывает. :)

рони 25.09.2017 09:11

Цитата:

Сообщение от ksa
Пусть автор сам дальше реализовывает

дело не в переменной, а в алгоритме который не верно отрабатывает...


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