2014-01-23 1 views
-1

사이에 특정 텍스트를 얻을 : 나는 다음과 같은 텍스트를 추출하기 위해 찾고C# 정규식 여러 줄 - 필요가 아래에 주어진 내가 여러 줄의 텍스트 문자열이 패턴

Policy NO: 236511116, Jhon Mark 
Commencement Date: 28/02/2001 Age: 24, (—) 
Plan: - Life Plan (r.No. 111) 
Policy Term: 20 (Premium payment term : 15) 
Premium (JIs.)t - 1,531.00 payable Quarterly 

: 사전이

236511116 - Its a number which comes after text "Policy NO:" and before (,) 

Jhon Mark - which comes after "," and before line break and its last word in 1st line 

20 - which comes after "Policy Term: " and before "(" 

15 - which comes after "term : " and before ")" 

1,531.00 - which comes after "Premium some chars - " and before "payable" 

및 텍스트는 고정되어 변경되지 않으므로 검색 패턴으로 사용할 수 있습니다. 검색 할 텍스트는 변경할 수 있으며 최대 길이까지 지정할 수 있습니다.

RegEx에 관한 이전 질문을 무시하고 도와주십시오.

감사

+3

그래서 우리가 당신 일을하기를 원합니까? 지금까지 뭐 해봤 어? – Sylverdrag

+0

솔루션을 찾고, 나는 작은 C# 유틸리티 문제를 해결하기 위해 일하는 PHP 사람이고 RegEx는 항상 나에게 많은 것을 도청했다 !! – seopower

+0

해결책을 찾으려면 뭔가를 시도해보십시오. 시도한 경우, 우리는 당신이 뭘 잘못하고 있는지 찾아 낼 수 있도록 도와 줄 수 있습니다. 솔루션을 넘겨 주면 다음 번에 길을 잃을뿐만 아니라 코드베이스에서 이해할 수없는 코드 조각을 넣을 수 있습니다. 그러면 형식이 잘못되어도 수정할 수없는 버그가 발생합니다 누군가가 "용어"다음에 여분의 공간을 수정하면 어떻게 될까요? Oups, Floris가 친절하게 제공 한 마법 공식은 실패하고 검색은 비어있게됩니다. 그것은 누군가가 그 오타를 고칠 때까지 작동합니다. 이해할 시간을 가지십시오, 그것은 당신의 일입니다. – Sylverdrag

답변

0

다음 정규식 당신이 후에 있던 모든 요소를 ​​추출 : http://regex101.com/r/iN8oB5

에서

(?:Policy NO: (\d+), (.*)$|Policy Term: (\d+) .*Premium payment term : (\d+)|Premium .* ([0-9,.]+) payable .*) 

당신이 설명과 함께, 직장에서 이것을 볼 수, 나 아직도 경우를 알려주십시오 링크를 확인한 후 질문이 있습니다.

+0

도움 주셔서 감사합니다. 나는이 솔루션을 사용해 보았다 : Regex m = new Regex ("(? : 정책) : (\\ d +), (. *) $ | 정책 기간 : (\\ d +). * 프리미엄 지불 용어 : \ d +) 프리미엄. * ([0-9,.] +) 지불 가능. *) ", RegexOptions.Multiline); 그러나 3 개의 값을 반환합니다. "정책 번호 : 236511116, Jhon Mark", "236511116", "Jhon Mark" – seopower