귀하의 질문은 이해하기 어렵습니다. 귀하가해야 할 일과 잘못 된 것이 무엇인지 명확하게 설명하지는 않습니다. 링크가 깨 졌을 때 링크가 명확하게 나타나는지 확실하지 않습니다.
내가 무슨 뜻인지 알 것 같지만 잘못된 것 같습니다.
당신은) (674은 "ID가"이며,
var test = "(674,)|(,674)"
같은 문자열은 당신이 "얻을" "와"674 "를"674 "를 대체하려고되고있는 경우 (|) "
그런 다음 모든 인스턴스를 바꾸려면"g "(전역) 플래그가 필요하다는 점을 제외하고는 코드가 제대로 작동해야합니다.
예 :
당신은 두 번 같은 정규 표현식을 사용하고
var test = "(674,)|(,674)";
var id = "674";
var expr = new RegExp('(' + id + ',)|(,' + id + ')', 'gi');
var b = test.replace(expr, '');
alert(test);
alert(b);
, 그래서 왜 그냥 저장?
"674"또는 ", 675"외에도 "674"의 인스턴스를 대체하지 않는 이유가 궁금하신 분은 정규 표현식을 작성하여 대체하지 않았기 때문입니다 ! 너의 것만 쉼표로 덮어.
그건 당신이, "674"대체 무엇을하려고하는 경우 "674,"그냥 일반 "674"널 (null)와 다음 여기의 모든 일치하는 정규식입니다 :
var expr = new RegExp(',?' + id + ',?', 'gi');
은
? 선행 문자를 0 번 또는 1 번 일치시킵니다.
withing() |()에서 발생하는 인스턴스 만 일치시켜야하는 경우 앞의 정규식을 조정하기가 매우 쉽습니다. 독자의 연습 문제로 남겨 두겠습니다.
귀하의 질문은 이해하기가 매우 어렵습니다. 문제를 나타내는 5 줄 정도의 스크립트를 만들 수 있습니까? 그렇다면 여기에 포함 된 예제 코드를 다른 사이트가 아닌 게시하고 출력물과 원하는 출력물을 함께 게시하십시오. –
사회 기술 도움에 감사드립니다. –