1
나는 alternation 구조를 사용해야한다고 생각하지만 작동시키지 못한다. 어떻게이 논리를 하나의 정규식 패턴으로 만들 수 있습니까?3 대신 하나의 정규식 패턴을 사용하면 어떻게됩니까?
match = Regex.Match(message2.Body, @"\r\nFrom: .+\(.+\)\r\n");
if (match.Success)
match = Regex.Match(message2.Body, @"\r\nFrom: (.+)\((.+)\)\r\n");
else
match = Regex.Match(message2.Body, @"\r\nFrom:()(.+)\r\n");
는 편집 :
일부 샘플의 경우는 질문
From: email
및
From: name(email)
그
에 도움이 두 가지 경우입니다. 내가 할 수 있도록 그들을 맞춰보고 싶습니다.string name = match.Groups[1].Value;
string email = match.Groups[2].Value;
다른 접근 방식을 제안합니다. 환영합니다! 감사합니다. "(?=" + regex1 + ")" + regex2 + "|" + regex3
match = Regex.Match(message.Body, @"(?=\r\nFrom: (.+\(.+\))\r\n)\r\nFrom: (.+)\((.+)\)\r\n|\r\nFrom:()(.+)\r\n");
그러나 나는 당신이 원하는 정말 생각하지 않습니다 :
표현식으로 무엇을 달성하고 싶습니까? 특히 세 번째 것은'')''에 좋은 것인가? – stema
경기를 어떻게 계획 하시겠습니까? 아마도 첫번째 그룹과 두번째 그룹을 사용하십시오. –