2011-09-27 5 views
3

적어도 구문 상 유효하다는 점을 확실히하기 위해 CSS에 사용할 수있는 몇 가지 지침은 무엇입니까? 내가 생각해내는 네 가지 수표는 적어도 하나의 "{", "}", ";" 및 ":"가 존재하고 "{"및 "}"의 수가 일치하고 ":"및 ";"의 수가 일치하는 경우 시합. 또한 "."문자로 시작하는지 확인합니다. 가능한 모든 공백 조합과 함께 ";}"로 끝납니다.CSS가 올바른 구문인지 확인

유효한 구문인지 확인하기 위해 실행할 수있는 다른 검사가 있습니까?

또는 더 나은 아직 누구든지 이것을 확인할 수있는 정규식을 사용할 수 있습니까? 나는 정규식에 매우 새로운 것이지만 그것이 내가 언급 한 모든 수표를 처리 할 수있을 것 같다.

+0

http://jigsaw.w3.org/css-validator/를 사용하지 않는 이유는 무엇입니까? – Kenny

+0

+1 흥미로운 발견 적 문제의 종류에 대해 –

+1

왜 이것을하려고합니까? – thirtydot

답변

4

내가 생각할 수있는 가장 간단한 적합 정규식은 다음과 같습니다

(([.#]?[a-zA-Z_-0-9]+\ *)+\{([a-zA-Z-])+\ *\:[^;]+;\})+ 

은 고려하지 않습니다 @charset ...; 지침과 의견 (\ * ... * \), 는 또한 URL에 중괄호를 확인하지 않습니다 (...)와 "..."내용의 쌍 : "...", 하지만 필요한 경우 직접 추가 할 수 있습니다.

+0

'[a-zA-Z_-0-9]'의 "_-"부분은 무엇을하고 있습니까? 원래 오류가 발생했고 "_-"을 제거하면 사라졌습니다. 일단 내가 그것을 꺼낸 것은 내 필요에 완벽하게 작동했습니다. 다른 사람들이 지적했듯이 타당한 검증은 아니지만 이것을 위해 제 3 자 툴을 통합하는 것은 시간 가치있는만큼 실제로 나를 공격하지는 못했습니다. –

+0

-는 문자 범위 지시자입니다. 일부 정규식 엔진은이 경우 _-0-9가 _, -, 0 - 9를 의미하지만 사용중인 엔진은 - 문자 범위를 나타내는 데 사용되지 않을 때 이스케이프해야 함을 이해합니다. – mauhiz

+0

'! important' 등을 지원합니까? – Shimmy