У меня есть несколько сигнальных флагов в сериализованной строке, и мне нужно удалить флаг из строки, когда пользователь запрашивает определенную операцию. Мне не удалось найти регулярное выражение, которое работает во всех случаях для строки ниже.RegExp заменить подстроку в JavaScript
var flags = "out:ab,bc,bcc,cd";
Это ближайший я получил (например, удаление флага Ьс)
flags.replace(/[:,]bc\b/, "");
Результат out:ab,bcc,cd
это круто, но при удалении аЬ я буду получать outbc,bcc,cd
, что неправильно. Результат всегда должен содержать строку, сериализованную, например. out:flag1,flag2
Я попытался захватить подшаблоны, но не смог найти всестороннюю рабочую комбо.
- подробнее:
Флаги 0/1 сигналы, если флаг, я должен удалить его.
Out: это рабочий режим, и это противоположность In: (это вторая группа флагов). Проще говоря, Out: это «разрешить все, но« черный список », где In:« отрицает все, но присваивает белый список этим ». Приложение может работать в любом режиме. ab, bc, cd ... являются образцовыми алфавитными клавишами.
Так что же такое «флаги»? Что такое «выход»? Каков ожидаемый результат? Это немного прояснит ситуацию. – elclanrs
Если вы хотите что-то совместить, но не заменяете его, используйте [lookaround] (http://www.regular-expressions.info/lookaround.html) – Barmar
@elclanrs Я добавил больше информации, надеюсь, что теперь это яснее. Barmar Мне нужно удалить флаг, а не просто совместить :) –