나는 angularJS를 사용하고 "app-data-grid", "app-slider", "app-carousel"또는 "app-compile-some"과 같은 명명 규칙을 따르는 다양한 지시문을 사용합니다 -template "등입니다. 기본적으로는 [app name]-[dash delimited words]
의 일반 각도 지시문 명명 규칙입니다. 숭고한 텍스트 HTML 언어 구문 강조 표시가 정규 표현식과 올바르게 일치하지 않습니다. "<app-carousel"
또는 "<app-some-long-directive-name"
에 '앱'이 강조 표시되지만 전체 태그 이름은 강조 표시되지 않습니다. I는 제 2 정합 기의 결장 후 대시를 추가하려고숭고 텍스트 구문 정규식이 작동하지 않음
(<)([a-zA-Z0-9:]++)(?=[^>]*></\2>)
:
(<)([a-zA-Z0-9:-]++)(?=[^>]*></\2>)
번째 정규식 정규식 시험기 일 여기
은HTML.tmLanguage
파일의 소정 정규식 , 숭고한 본문에서는 효과가 없었습니다.
또한 AngularJS-HTML 언어 정의를 준 AngularJS 플러그인을 다운로드했습니다 ... 또한 동일한 문제가 있습니다.
정규식을 수정하여 강조 표시 할 전체 태그 이름과 일치시킬 수 있습니까?
내가이 정규식 당신이 게시 된 내용과 일치하는 방법을 알고 해달라고 HTML Extended 숭고한 플러그인, 어떤 테스터에이 시도 않았다 당신이 당신의 샘플 텍스트로 무엇을 사용 했는가를 사용? – Vajura
다음을 테스트하기 위해 [link] (http://www.regexr.com/ "RegExr")를 사용했습니다 :'([a-zA-Z0-9 : -] +)'예상대로 일치합니다 RegExr에서 일치하지만 Sublime에서는 일치하지 않습니다.Sublime의 원래 RegEx는 RegExr에서 작동하지 않습니다 (이중 플러스가 버렸습니다), 아마도 다른 엔진이 사용 되었기 때문입니까? 세 개의 단어와 하이픈이 일치하는지 테스트하기 위해 샘플 텍스트로 "blah-blah-blah"를 사용했습니다. –
'++'는 실제로 regex에서 의미가 있습니다. 이것은 역 추적을 의미하지 않습니다. 좀 더 구체적으로 말하자면이 경우'(<)'에 일치하는 것이 발견되면'[a-zA-Z0-9 : -] +'에 가장 잘 맞는 것입니다. 이것이 전체 정규식에 대한 일치 항목으로 확장 될 수 없다면'(<)'에 대한 또 다른 일치 항목을 찾으려고합니다. 예를 들어'[a-zA-Z0-9 : -] ++'는'app-foo'와 일치 할 수 없기 때문에'< app-foo id = "foo" < app-foo >' 'app-foo id = "foo"'와 일치 할 수 있습니다. ('? +'와'{m, n} +'도 할 수 있습니다.) –