C#에서 일부 복잡한 문자열에 대한 정규식 도움말이 필요합니다.다양한 구분 기호로 문자열을 분할하는 정규식
내가 가진 문자열 :
-- [AUG-24-14 11:58 PM (EDT) Mickey Rahman] --------------Comment 1-- [AUG-24-14 11:40 PM (EDT) Mickey Rahman] --------------Comment 2-- [AUG-22-14 11:51 PM (EDT) Automation User] --------------TEST 3
내가 원하는 분할은 이것이다 :
MATCH 1 :
-- [AUG-24-14 11:58 PM (EDT) Mickey Rahman] --------------Comment 1
MATCH 2 :
-- [AUG-24-14 11:40 PM (EDT) Mickey Rahman] --------------Comment 2
MATCH 3 :
-- [AUG-22-14 11:51 PM (EDT) Automation User] --------------TEST 3
문자열을 대시 (-)와 일치시키는 패턴을 기반으로 Regex.Split()을 시도했지만 문제는 이것을 분할의 일부로도 사용하려는 것입니다. 나는 그것이와 함께 캐릭터와 실제 코멘트 나에게 별도의 일치를주는 괜찮아요 - 문자열, 그러나이와 나는 점점 중복 해요 :이
string input = "-- [AUG-24-14 11:58 PM (EDT) Mickey Rahman] --------------Comment 1-- [AUG-24-14 11:40 PM (EDT) Mickey Rahman] --------------Comment 2-- [AUG-22-14 11:51 PM (EDT) Automation User] --------------TEST 3";
string pattern = "((?<=--)(.*)(?=--------------))";
string[] substrings = Regex.Split(input, pattern); // Split on hyphens
int i = 1;
foreach (string match in substrings)
{
Response.Write("MATCH " + i.ToString() + ":" + string.Format("{0}", match) + "<br>");
i++;
}
, 난 출력을 지고는 다음과 같습니다
당신이 분할 방법을 사용하여 만족하는 경우MATCH 1:-- MATCH 2: [AUG-24-14 11:58 PM (EDT) Mickey Rahman] MATCH 3: [AUG-24-14 11:58 PM (EDT) Mickey Rahman] MATCH 4:-------------- Comment 1 -- MATCH 5: [AUG-24-14 11:40 PM (EDT) Mickey Rahman] MATCH 6: [AUG-24-14 11:40 PM (EDT) Mickey Rahman] MATCH 7:-------------- Comment 2 -- MATCH 8: [AUG-22-14 11:51 PM (EDT) Automation User] MATCH 9: [AUG-22-14 11:51 PM (EDT) Automation User] MATCH 10:-------------- TEST 3
split 메서드를 사용할 때 너무 복잡하면'\ G' 앵커로 "Matches"메서드를 사용하십시오. –