[질문] 날짜를 정규 표현식으로...

익명 사용자의 이미지

학교 수업에서 lex를 배우는데 2002/05/29 이런 날짜를

May 5, 2002 식으로 변환는 프로그램을 짜랩니다..

년도는 [1-2][0-9][0-9][0-9]

월은 [0-1][0-9]

일은 [0-3][0-9]

이런식으로 줬는데.. 문제가 있네요

월이 19월이 있을리 만무하고 39일이 있을수 없는데...

이걸 체크 못하겠네요...

또... 궁금한게...

월의 범위가 달의 범위안에 포함되는데 어떻게 구분해야할까요?

익명 사용자의 이미지

그 문제는 정규형으로 표현 해야 할것이 아닌갓 같네요....

정규형은.. 단지 패턴에만 관심이 있지 그 이외의 것에는
아무의미도 두지 않기 때문에....

Lex spec.(정규형)외에 약간의 코딩으로 해결 해야 할 것 같네요....

익명 사용자의 이미지

초짜 wrote..
학교 수업에서 lex를 배우는데 2002/05/29 이런 날짜를

May 5, 2002 식으로 변환는 프로그램을 짜랩니다..

년도는 [1-2][0-9][0-9][0-9]

월은 [0-1][0-9]

굳이 정규표현식으로 표현하자면..

월은 0[0-9]|1[0-2]
일은 [0-2][0-9]|3[0-1]

정도로 하면 될것 같군요 ^^

일은 [0-3][0-9]

이런식으로 줬는데.. 문제가 있네요

월이 19월이 있을리 만무하고 39일이 있을수 없는데...

이걸 체크 못하겠네요...

또... 궁금한게...

월의 범위가 달의 범위안에 포함되는데 어떻게 구분해야할까요?

익명 사용자의 이미지

히히... 괜히 이런거 썼다가 전산 전공하신 분한테
야단맞을거 같애요.....
그래도, 요즘 취미삼아 공부해 볼까 하고 생각하고 있는 분야라..
한번 써 보겠습니다.
정규문법.....

M --> N₁| 1N₂
N₁--> 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
N₂--> 0 | 1 | 2

위의 것은 '월' 을 표현할려고 한 거구요...

D --> N₁| ( 1 | 2 )N₂| 3N₃
N₂--> 0 | N₁
N₁--> 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
N₃--> 0 | 1

이것은 '일' 을 표현하려구 했습니다.

맞는지 모르겠네요 -_-a

익명 사용자의 이미지


그럴꺼 같으면.. 2월 30일 등도 있을리 만무하자나요..

이런건 어떻게 체크할래요?

더구나.. 2월 29 일은 있기도 하고 없기도 하자나요.. 이건또 어떻게

체크할래요?

ㅋㅋ

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.