2012-03-06 6 views
0
var pattern = /(?<=\?)(.*?)(?=\=)/; 

은 "유효하지 않은 한정 기호"오류가 발생합니다.RegEx 무효 한정 기호

이 나는 ​​시도했다 : 아무 소용이

var regexp = new RegExp("(?<=\?)(.*?)(?=\=)"); 

중 하나. 나는 표지판과 백 슬래시를 벗어나려고 노력했다. 나는 잃어 버렸다.

어떻게 해결할 수 있습니까?

+2

JavaScript는 눈 가리개를 지원하지 않습니다. –

+0

해결 방법을 찾았습니다. 분명히, 내가 urlObj 해시 및 "?"일치하는 패턴을 적용 할 때 + string + "="... 배열을 반환합니다 ... 그래서 지저분하지만 완벽하게 작동합니다. 'var pattern = /(\?)(.*?)(\=)/; \t var urlType = urlObj.hash.match (pattern) [2]; ' – TSNev

+0

방금 ​​원한다면'/\?(.*?)=// exec (urlObj.hash) [1]'도 작동 할 것입니다 . –

답변

0

: (가)의 후 작업을해야합니다.

var pattern = /(?:<=\?)(.*?)(?:=\=)/; 
+1

'? :'그룹을 참조 해제합니다. OP는 다른 RegEx 구현에서 알 수있는 눈 가리개를 사용하려고합니다. –

0

왜 룩앤더가 필요합니까? 당신은 ?data= 유형 패턴을 맞추려고합니다. 단지 ? 인 경우으로 보지 마십시오. 먹지 마십시오. :)

var data = "halsfdkjad;slfkjasdfj?data=uhtooiuhiouh?oiurhoiuhhhjkjj=9"; 
var myregexp = /\?(.*?)(?=\=)/g; 
var match = myregexp.exec(data); 
var result = "Matches found:\n"; 
while (match != null) { 
    result += "match:" + RegExp.$1 + '\n'; 
    match = myregexp.exec(data); 
} 
alert(result); 
0

해결 방법이 있습니다. 분명히, 내가 urlObj 해시 및 "?"일치하는 패턴을 적용 할 때 + string + "="... 배열을 반환합니다 ... 지저분하지만 완벽하게 작동합니다.

var pattern = /(\?)(.*?)(\=)/; 
var urlType = urlObj.hash.match(pattern)[2]; 
관련 문제