2010-12-11 6 views
0

정규식이 있는데, Safari와 Chrome에서 작동하는 것으로 보이며 FireFox에서 다음과 같은 오류가 발생합니다.javascript RegEx에서 d 플래그의 의미는 무엇입니까?

Error: invalid regular expression flag d 
Source File: http://java.net/projects/mq 
Line: 194, Column: 34 
Source Code: 
    var vbkpatt1=/projects\/[^/]+/di; 

나는 몇 주 전에이 정규식과 싸웠던 따로 넣어했다, 그래서는 'D'플래그를 사용하는 저를지도 한 페이지로 연결되는 링크가 없습니다. d 플래그를 포함하는 ref에 대한 포인터는 내 문제를 해결하기위한 확실한 시작일 것입니다.

+0

Safari 및 Chrome에는 어떤 영향이 있습니까? – BoltClock

+3

웹킷은'/ string/zxcvbgi'를 행복하게 섭취하고 유효하지 않은'zxcvb'를 무시하고 여전히 유효한'gi' 플래그를 적용합니다. Firefox가 아닙니다. –

+0

@Ken Redler - 답변을 게시하여주십시오. 동의하겠습니다. – vkraemer

답변

2

웹킷 브라우저는이 경우에 더 관대하고, 같은 것을 받아 들일 것입니다 :

/theregex/gi 

파이어 폭스, 그러나 것 :

/theregex/zxcvbgi 

가 대신 던지는 오전 오류로, 그들은 그것을 참조 어떤 잘못된 깃발든지에 반대하십시오. Nick은 대답에서 유효한 것을 지적합니다.

6

당신의 문제가 더 d 플래그 :있다 없다 :

  • g - 글로벌 검색 (여러 일치)
  • i - 무시하는 경우는
  • m - 다중 입력
0

Chrome에서 실제로 입니까? 나는 시도했다 : 그것은 /projects\/[^/]+/ 같은,하지만 난 강력하게 그 모든 진짜 확장이다 의심 것을 받아

/projects\/[^/]+/zyx 

. 그냥 무시하는 것입니다. Ken이 지적한대로 유효하지 않은 플래그가있는 경우에도 유효 플래그를 유지합니다.

또한 잘라 내기 및 붙여 넣기가 아닌 good tutorial을 따르는 것이 좋습니다.

관련 문제