flex 패턴에서 공백문자 무시 어떻게 하나요?
flex 에서 (adobe flex 아님-_- )
아래처럼 매크로로 패턴을 정의해주고, 규칙을 적용해주었습니다.
EMAIL {ALPHANUM} (("."|"-"|"_") {ALPHANUM})* "@" {ALPHANUM} (("."|"-") {ALPHANUM})+
%%
{EMAIL} { return EMAIL_TOKEN; }
문제는 위에 EMAIL 매크로 정의에서 공백이 있으면 안되더군요..
규칙부분에서 패턴과 그에 대한 코드의 구분을 공백문자로 하는 듯 합니다.
위에 EMAIL 정도는 상관없는데.. 좀 복잡한 패턴을 공백없이 인라인으로 쓰니까...
아.. 좀 끔찍합니다.
분명히 패턴에서 공백을 무시하도록 해주는 기능이 있을텐데..
찾아보니까
`(?r-s:pattern)'
`x' ignores comments and whitespace in patterns. Whitespace is ignored unless it is backslash-escaped, contained within `""'s, or appears inside a character class.
요런게 있긴한데.. ""를 씌여버리는 처리를 추가해서 그런지 저걸쓰니 에러나더군요-_-;
2.5.35-1 릴리즈 문서에서
*** pattern options added to allow ignoring of whitespace in patterns
라는 반가운 문구를 발견할 수 있었지만..
어떻게 하는지는 아무리 찾아도 안보이더군요.. 흑.. -_-
그럼 도움의 손길을 기다립니다
댓글 달기