imgosari
10
2022-01-12 13:11:15
4
118

간단한 정규식 질문드립니다!


안녕하세요! 가입 후 첫 질문 드립니다 :-)


혹시 아래와 같은 형태의 규칙이 있을 때, 정규식을 어떻게 작성하면 좋을지 질문드려요.


문장 : {start=10, end={20}, avg=5.5%, rtt=5ms}, {start=30, end={40}, avg=5.5%, rtt=5ms}

{ } 으로 구분해서(내부에도 { }가 있어요), 각각의 scope는 ,로 구분되고 마지막은 ,가 없습니다!


즉 2개의 문장을 얻어내는 정규식을 작성하고 싶습니다.

1개 => {start=10, end={20}, avg=5.5%, rtt=5ms}

2개 => {start=30, end={40}, avg=5.5%, rtt=5ms}

0
  • 답변 4

  • kenu
    58k
    2022-01-12 13:51:06 작성 2022-01-12 13:51:58 수정됨

    이게 왜 간단한데요? 저도 못 풀음

  • kenu
    58k
    2022-01-12 13:53:12

    그래도 진심을 담아 변수를 찾아 보면

    {start=10, end={start+10}, avg=5.5%, rtt=5ms}
    으로 보입니다.

  • Jeongtae Kim
    67
    2022-01-12 14:28:02

    일정한 패턴 없이 중괄호가 중첩되는 상태에서 가장 바깥 수준의 중괄호만 빼내는건 정규식으론 어렵지 않을까요? 파싱 함수를 구현하는게 쉬워보입니다.

  • siva6
    5k
    2022-01-12 14:50:06

    정규식은 아니지만 js라면 이렇게 할 수도 있죠.
    여러 예외가 있을 수 있지만요.

    '{start=10, end={20}, avg=5.5%, rtt=5ms}, {start=30, end={40}, avg=5.5%, rtt=5ms}'.split('}, {').map(v => v.startsWith('{')?v+'}':'{'+v);


  • 로그인을 하시면 답변을 등록할 수 있습니다.