우선 해킹 코드를 사용 해보세요.이 코드를 시험해보고 싶습니다. 처음으로 자바 스크립트를 배우고 있습니다. 기본적으로 "abc! random {3}"문자열은 "abc"로 시작하고 0-3의 임의의 숫자로 끝나는 문자열을 반환한다는 것을 의미합니다.정규식은 자바 중첩 문제와 일치합니다.
var pattern=/!random{([^{]*?)}/gi;
var text="abc!random{3}def!random{4}ghi!random{!random{3}}";
while (pattern.test(text))
{
text=text.replace(pattern, Math.random() * parseInt("$1"));
}
문제가에서는 parseInt 함수이다 : 여기
내가 가진 것입니다. $ 1이 전달되지 않은 것처럼 보입니다. 그 값이 지워지거나 뭔가가 나온 것 같습니다. 내가 할 경우 :
text=text.replace(pattern, "$1");
정확히 {} 사이에있는 값을 반환하므로 정규식이 작동하고 일치 항목이 $ 1에 저장됩니다. 그러나 $ 1에 매개 변수로 사용하자마자 값이 지워지는 것처럼 보입니다. 뭐라 구요?
함수가되는 두 번째 매개 변수가 JavaScript의 표준 구현입니까? 문서 링크를 제공 할 수 있다면 정말 멋진 기능 임에도 불구하고 문서화 된 적이 없으므로 완벽 할 것입니다.) – BYK
ECMAScript 표준의 일부입니다 - http://bclary.com/2004/11/ 07/# a-15.5.4.11 – James
1999 년 12 월 ECMAScript 표준의 15.5.4.11 절 참조 : http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf. 다음은 동일한 내용을 설명하는 MSDN 페이지에 대한 직접 링크입니다. http://msdn.microsoft.com/en-us/library/t0kbytzc(VS.85).aspx. –