0
현재 스크립트에이 내용이 있는데 왜 작동하지 않는지 잘 모르겠습니다. 그것은 정규식 테스터에서 작동하며 꽤 간단한 정규식입니다. 이 정규식이 자바 스크립트에서 작동하지 않는 이유는 무엇입니까?
var page = '<div id="loginOverlay" class="loginOverlay">' +
'<div id="loginForm">' +
'<form name="loginForm" method="post" action="/test.jspx" onsubmit="grayLoginAnonymous();return false;" style="margin:0px;" autocomplete="off"><input type="hidden" name="org.apache.struts.taglib.html.TOKEN" value="21a9e5a4197cfaefec409d8473f29a6e" />'+
' </form>'+
' </div> '+
' </div>';
var pattern = /<input type='hidden' name='org.apache.struts.taglib.html.TOKEN' value='((\d|\w)+)' \/>/;
var match = page.match(pattern);
document.write(match);
console.log(page);
console.log(match);
</script>
와 일치하면 'null'이 반환됩니다. 누군가가 문제를 지적 할 수 있습니까?
var page가 그 패턴의 전후에 문자를 포함하고있을 때 그 패턴을 정확히 일치 시키려고하기 때문이라고 생각합니다. . *를 맨 앞에두고 끝내십시오. 새로운 행에서 일치를 지정해야 할 수도 있습니다. –
'.'는 정규 표현식에서 "임의의 문자"를 의미한다는 것을 기억하십시오. 따라서 리터럴 도트와 일치하는 반면, 정규식을 실제 도트와 일치 시키려면 좀 더 구체적이고'\ .'라고 써야합니다. –
큰 따옴표와 작은 따옴표에 대한 내 실수였습니다. 고마워. –