0
구문 분석하려고하는 특정 프로토콜 을 구문 분석하는 정규식을 만들 수 있는지 궁금합니다.이 특정 프로토콜과 일치하는 정규식을 만드는 방법
다음은 규칙입니다.
- 데이터는 문자열로 제공됩니다.
- '='문자는 특별한 의미가 있습니다. 이스케이프하려면 = 따옴표 붙은 문자열에 "="과 같이 데이터에 ==가 포함될 수 있습니다. '='은 2-5 사이의 숫자 뒤에 경우
- 그것은 다음되는 데이터 채널 (2, 3, 4 또는 5)
예임을 나타낸다
-
가정
- sdfasjfasdjfalksjdfaksjdflkajsdlfjasdf // 데이터는 "현재 채널 될
- = 2sjfksdjfaksjdfkasjdfk // = 2 채널 인 다음 어떤 2
- = 2sjdfaksdjf = 3sjfkasjdfk // 그 = 2 채널 2간에위한 다음 어떤 그 뒤에 오는 채널 3이다
- fsdfasjfhajsd = 2sfdjashdfjashfa = 5sfajsdfaksjdf 초기 부분 = 2 = 5 이스케이프 == 5
- 주 채널 인 다음 어떤 채널 2을위한 다음이든 현재 채널 위한 // 데이터의 일부로 이스케이프 된 것으로 간주되어야합니다.
- = 2 = x4 // = x4는 채널 2에 해당합니다. 즉, = 뒤에 숫자 2-5 만 오는 경우 있음을 의미합니다. 채널 스위치. 그렇지 않은 경우 데이터의 일부일뿐입니다.
- 특수한 경우는 =이 끝나는 문자열의 끝입니다. 이 경우 , 우리는 그래서 우리는 단지 이
예. – Ryan
반드시 프로토콜의 문자열과 일치하는 정규식이 있어야합니다. 나는 당신이 그것을 "분석"할 수 있는지 잘 모르겠다. 일부 확장은 그룹 캡처를 허용하지만 문자열에 많은 채널이있을 수 있으므로 클로저 내부에서 그룹을 캡처해야합니다. 그것이 가능한지 확실치 않은 부분입니다. – 1010