JS-RegEx не работает

У меня есть строка, которая содержит одну или несколько комбинаций {numeric} _ {numeric} (разделенных запятой), и я хотел бы удалить одну конкретную комбо.

('6_4,6_5,6_6').replace('\d+_5(,|$)','');

но он работает не так, как ожидалось, и я просто не понимаю, почему. (тестируется в Firefox JS-Console)

4 ответа

Используйте разделители /.../ вместо '...', иначе Javascript попытается сопоставить эту строку (не ваше выражение).

'6_4,6_5,6_6'.replace(/\d+_5(,|$)/,'');

Кроме того, () вокруг вашей начальной строки не было необходимости (хотя и не вызывало никаких проблем).


Вам нужно использовать синтаксис regex с /, а не с строкой

('6_4,6_5,6_6').replace(/\d+_5(,|$)/,'');


Поскольку вы передаете регулярное выражение как строку, а не как регулярное выражение. Пытаться:

('6_4,6_5,6_6').replace(/\d+_5(,|$)/,'')


Вы говорите ему, чтобы заменить строку.

.replace(/\d+_5/,'');

Это должно сделать это.

licensed under cc by-sa 3.0 with attribution.