javascript - 이 정규식은 왜 하나의 문자열만 바꿀 수 있습니까? ?
仅有的幸福
仅有的幸福 2017-06-05 11:13:51
0
4
865

이중 중괄호 안에 포함된 문자열을 실제 값으로 바꾸고 싶은데 하나만 바꿀 수 있는 이유를 모르겠습니다.

으아악
仅有的幸福
仅有的幸福

모든 응답(4)
遥远的她

광고

  • 회신하다 으스스스
    遥远的她 작가 2017-06-05 14:04:16
  • 회신하다 74777
    遥远的她 작가 2017-06-05 14:04:28
漂亮男人

String.replace는 정규식을 매개변수로 지원하여 다시 작성해 드립니다

으아아아

원래 방법을 계속 사용하려면 전역 매개변수 g를 취소해야 합니다

으아아아
某草草

RegExp 개체에는 一个整数,标示开始下一次匹配的字符位置。。当exec第一次执行成功后,lastIndex为匹配项位置+1。正因为这样,再次调用才会会获得下一个匹配项。
回到你这个例子,第一次循环后,re的lastIndex为40,而此时tpl变为了tpl="/cube_xinbao_dial_result/1/{{query}}"显然你要匹配的query의 위치가 40 이전임을 나타내는 lastIndex 속성이 있으므로 다시 일치하면 실패하고 exec는 null을 반환하며 루프가 빠져나갑니다.

淡淡烟草味

으아악

출력 결과

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿