안녕하세요
밑줄 템플릿에서 모든 변수를 가져 오려고하는데이 문자열에서 :
<%=userID %> </td><td><%=username %> </td><td><%=firstname %>
배열을 얻고 싶습니다.
{userID, username,firstname}
몇 가지 참고 사항 :
문자열에 공백이 있다고 가정 할 수 없습니다.
변수 이름은 템플릿에서 반복 될 수 있습니다.
html 태그는 다양 할 수 있으며 이는 단순한 예입니다. 템플릿은의 또는 다른 것을 기반으로 할 수 있습니다.
내가 시도한 것 :
var regexp = /<%=(.+)%>/;
실패한 이유
위의 Regexp는 regexp의 요구 사항에 맞기 때문에 초기 문자열도 가져옵니다. 나는 Regexp에 대해 너무 경험이 많지 않으며 정말 간단한 것을 놓치고 있습니다.
또한 일반적으로 HTML을 정규식으로 구문 분석하는 것이 좋지 않다는 것을 알고 있지만이 특정 예제는 특정 html 태그가 필요하지 않기 때문에 정확히 HTML 구문 분석이 아닙니다.
미리 감사드립니다!
그룹화에 대괄호를 사용하고 일치하는 문자를 제한하려면 문자 클래스를 사용해야합니다. 시험:
var regexp = /<%=([\w\s]+)%>/g;
var html = "<%=userID %> </td><td><%=username %> </td><td><%=firstname %>";
var match = [], result = [];
while (match = regexp.exec(html))
result.push(match[1].trim());
console.log("Result = " + result);
// Result = userID,username,firstname
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다