2017-11-24 2 views
0

여기정규식 건너 뛰는 라인

Regex101

내가 번호, 분류 한 후 텍스트와 일치하고 싶습니다 내 샘플 텍스트와 정규식이다, "서버"이 서버의 특정 역할이나 기능은? 무엇입니까 " 호스트 이름 : "등. 그러나 텍스트를 변경하는 경우 지금 사용하고있는 메서드는 제대로 작동하지 않습니다. 나는 이것이 역동적이어서, 가능한 한 많은 수의 라인/문자를 건너 뛰어 다음 경기에 도달 할 수 있기를 바랍니다.

나는 현재 다음과 같은 정규식 사용하고 : 내가 아는

Number\:\s(?<Number>\d+)[\r\n]Category\:\s(?<Category>.*).*[\r\n].*[\r\n].*[\r\n]What\sis\sthe\sspecific\srole\sor\sfunction\sof\sthis\sserver\?\:\s(?<Function>.*).*[\r\n].*[\r\n].*[\r\n].*[\r\n].*[\r\n].*[\r\n].*[\r\n].*[\r\n].*[\r\n].*[\r\n]Server\sHostname\:\s(?<Hostname>.*).*[\r\n]Server\sAllegiance\:\s(?<Domain>.*).*[\r\n].*[\r\n]Physical\sLocation\:\s(?<Location>.*).*[\r\n].*[\r\n].*[\r\n].*[\r\n].*[\r\n]Local\sAdministrators\:\s+([\w\s]+)[\r\n].*[\r\n].*[\r\n]Task\sDescription\:\s(?<Task>.*) 

, 내가 알고, 그것은 추한! 등

+0

프로그래밍 언어? 'PHP'? '파이썬'? 그리고 다른 텍스트 샘플을 가지고 있습니까? 현재 패턴은 [** 대참사 역 추적 **] (https://regex101.com/r/S2OqoV/1)이됩니다. – Jan

+0

당신의 정규식은 치명적인 역 추적으로 도망칩니다. 이름이 붙은 각각의 그룹을 분리하는'|'연산자를 사용할 수 있습니다. –

+0

S/O에서 R101로 복사하면 어떻게 든 텍스트가 엉망이되었습니다. – sogeniusio

답변

1
[\r\n]Number\:\s(?<Number>\d+)|.*[\r\n]Category\:\s(?<Category>.*)[\r\n]|[\r\n]What.*specific.*\:\s(?<Function>.*) 

...