Javascript 정규식과 속성 구문을 일치 시키려고합니다. 이 작업을 수행 할 수있는 확실한 방법이 있습니까? 난 그냥 문자열이 경로를 포함하는 경우 알아야 할, 내가 경로 구성원을 필요로하지 않는 다음과 같은 -속성 경로에 대한 정규식
someobject.somekey.somechildkey.somegrandchildkey
같은 문자열과 일치해야합니다. 예를 들어,이
This is some long string that contains a property.path.syntax, and I need to test it.
더 많은 범위를 지정해야합니다. 어떤 종류의 경로를 지원해야합니까? 'somebody ''somekey ''[some "+"child "+"key "] [foo]'(여기서'foo'는''somegrandchildkey''를 포함하는 변수입니다)라고 가정하면, 이것을 지원해야합니까? 다른 표현식 ('someobject [foo? 'somekey': "someotherkey"]')은 어떨까요? –
JavaScript 식별자 문자의 유효한 목록은 ** large **입니다. '[a-zA-Z_]'만 허용하는 언어가 아닙니다. 기본적으로 속성 이름에는 제한이 없습니다 (예 : 문자열로 사용하는 경우). 속성 이름 리터럴 만 사용할 수 있습니다. 기타 : http://www.ecma-international.org/ecma-262/5.1/#sec-7.6 –
이 응용 프로그램의 경우 경로는 마침표로 구분 된 경로 구문으로 제한됩니다. obj [path] [childpath]가 없습니다. 또한이 구현에서는 "키"가 사람이 읽을 수있는 것이 아니기 때문에 [a-zA-Z]가 유효해야합니다. – thebringking