직렬화 된 문자열에 신호 플래그가 몇 개 있으며 사용자가 특정 작업을 요청하면 문자열에서 플래그를 제거해야합니다. 아래 문자열에 대한 모든 경우에 사용할 수있는 정규식을 찾을 수 없습니다. RegExp는 JavaScript에서 부분 문자열을 바꿉니다.
var flags = "out:ab,bc,bcc,cd";
이
내가flags.replace(/[:,]bc\b/, "");
결과 멋지다 out:ab,bcc,cd
이지만, AB를 제거 할 때 내가 잘못이다 outbc,bcc,cd
를 얻을 것이다 (예를 들어, BC 플래그를 제거) 가지고 가장 가까운 것입니다. 결과는 항상 직렬화 된 문자열을 유지해야합니다. out:flag1,flag2
하위 패턴 캡처를 시도했지만 전반적인 작동 콤보를 찾을 수 없습니다.
플래그, 0/1 신호입니다.
Out :은 작동 모드이며 In :의 반대입니다 (두 번째 플래그 그룹). 간단히 말하자면, Out은 "모두 허용하지만 블랙리스트에 넣기"입니다. In :은 "모두 거부하지만 화이트리스트"입니다. 앱은 어느 모드에서나 실행할 수 있습니다. ab, bc, cd ...는 샘플 알파벳 키입니다.
그래서 "플래그"는 무엇입니까? '밖으로'무엇입니까? 예상되는 결과는 무엇입니까? 그건 조금은 분명해. – elclanrs
무언가를 매치하고 바꿀 필요가 없다면 [lookaround] (http://www.regular-expressions.info/lookaround.html) – Barmar
@elclanrs를 사용하십시오. Barmar 깃발을 제거해야합니다. 일치하지 않습니다. –