2010-12-14 4 views
3

? =을 (를) 검색 할 수 없기 때문에 Google이 실패하고 있습니다. 무엇이간단한 자바 정규식 질문

(?=[aeiouy]) 

과 일치합니까?, 나는 [aeiouy]가 aeiouy 중 하나임을 알고 있습니다.

+1

Google이 항상 가장 좋은 장소는 아닙니다. 정규 표현식에 관한 정보를 찾으려면 http://www.regular-expressions.info/를 먼저 방문하는 것이 좋습니다. – Lekensteyn

+0

또는 검색 할 수있는 항목을 파악할 수 있습니다. 예 : "javascript regex syntax"는 유망한 결과를 보여줍니다. 첫 번째 질문에 대한 답이 있습니다. –

답변

6

?=positive lookahead 구문이며, 일치하는 문자는 이며 그 뒤에 모음이옵니다. , (?=...)는 "내다"라고 구체적으로 http://www.rubular.com/r/Tjq3ocLMVJ

를 참조 -

+0

참고 : https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExp –

5

그것은 다음 문자가 a, e, i, o, u 또는 y 어떤 장소와 일치하지만, 그 문자와 일치하지 않습니다 그리고 다음 청크 MDC에서

3

존재하는지 검사한다 :

을 X (= Y를?)

는 XX 경우는 Y 의해 따라 일치된다.

예를 들어,/Jack (? = Sprat) /은 'Sprat'다음에 'Jack'과 만 일치합니다./Jack (? = Sprat | Frost)/'Sprat'또는 'Frost'다음에 오는 경우에만 'Jack'과 일치합니다. 그러나 'Sprat'도 'Frost'도 일치 검색 결과에 포함되지 않습니다. 그래서

:

foo(?=[aeiouy]) 

fooe, fooi 등하지만 혼자가 아닙니다 foo하지만 이미 견적에 명시된 일치합니다,이 경우에 모음은 경기 자체에 포함되지 않습니다.

0

문자열이 "bbbbae"이고 "a?"앞에 임의의 위치에 적용되면 "(? = [aeiouy])"가 "a"또는 "e"와 일치한다고 가정 해 봅시다.

+0

아니요. 문자와 일치하지 않으므로 문자 앞에 * 공백과 일치합니다. 그리고 그것은 단지 "a"이전의 "b"와 "a"사이와 "a"와 "e"사이에서 단지 * 정확하게 * 않습니다. –