2012-09-19 2 views
0

클래스 이름 내의 문자열을 찾아 바꾸려고합니다. 내가 함수 느릅 나무를 사용하고있어 클래스의 "메타 데이터"저를 반환JS - (jQuery없이) : regexp 메타 데이터

예컨대 :

class="atestclass {action : '/myurl/param1/param2'}" 

그래서 함수 metadata.action가 반환 나 "/ myURL이/PARAM1/PARAM2".

이제 regexp를 사용하여이 값을 일반적인 방식으로 변경해야합니다.

그래서이 일 :(

var regExp = new RegExp(opts.attribute + '\'.\'','igm'); 

"opts.attribute는". 지금은 후 따옴표의 firt 선두로부터 찾아야 "행동"이 경우에 "내 정규식 물론이 그나마이다 . opts.attribute "opts.value"와 함께이 교체 "

을 내가 그것을 수행하는 방법 아무 생각이 없다, 정규식 내 개인적인 악몽 : -/

+1

정규식 비정규직 데이터는 악몽 참으로. – hsz

답변

0
var oldclass="atestclass {action : '/myurl/param1/param2'}"; 
var regExp = new RegExp("(\\{\\s*"+opts.attribute+"\\s*:\\s*').*?'", 'igm'); 
var newclass = oldclass.replace(regExp, "$1"+opts.value.replace('$', '$$')+"'"); 
+0

THX Ba rmar,이 완벽하게 작동합니다! –