<html><body><script>
var matches = /(\w+)(\s*(\w+))?/.exec("aaa");
alert(matches.length);
alert(typeof(matches[3]));
</script></body><html>
저는 정규 표현식에 처음으로 익숙하기 때문에 매우 쉬운 질문 일 수 있습니다.자바에서 정규 표현식의 물음표 (별난 행동)
/(\w+)(\s*(\w+))?/
위의 정규 표현식은 "aaa", "123", "my_var"또는 "aaa bbb", "123 456", "my_var my_value"와 일치합니다. "AAA BBB"와 같은 표현을위한
["aaa", "aaa", ???, ???]
가장 먼저하는 일이 내가 기대 한 그 matches.length = 4입니다 = = ["aaa bbb", "aaa", " bbb", "bbb"]
일치하지만 "AAA"와 같은 표현과 일치 그것은 2가되어야하지만, 나는 그것이 무엇이어야 하는지를 설명하는 어떠한 문서도 보지 못한다. 어떻게 작동합니까?
그리고 나를 놀라게 두 번째 것은 2 "추가"나는 내가 이것을 테스트 한 두 브라우저에서 다른 작업하고있어 일치하는지입니다 :
이파이어 폭스 3.6.3에서 일치 [2]와 matches [3]는 정의되지 않습니다.
Internet Explorer 6에서 [2]와 (와) 일치하는 항목은 빈 문자열입니다. 나는 ("AAA"와 같은) "짧은"또는 "긴"(같은 "AAA BBB") 식을 가지고있는 경우에 기본적으로
, 어떻게 확인해야합니까?
정확히 내가보고 싶었던 부분입니다. :) – GameZelda