그럼 간단한 대답은 예입니다.
Regex가 실제로 도움이 될 수 있지만 여러 파일을 처리하는 도구가 필요합니다. 지금은 어떤 것도 추천 할 수 없지만 "여러 파일 검색 및 바꾸기"라는 Google 검색을 시도해보십시오. Regex는 여러 줄 또는 한 줄 일치를 처리 할 수 있습니다.
필자는 Notepad ++를 사용하여 검색을 수행하거나 여러 파일 (열거 나 디렉토리 트리 내에서)을 바꿀 수 있지만 일차적 인 목적은 아닙니다.
어려운 부분은 "대체"표현식에서 사용할 수있는 적절한 캡처 그룹을 유지해야하는 세부 사항을 선택해야하는 곳에서 "일치"를 정의하는 것입니다.
다시 말해서 도움이 될 수 있지만 귀하의 질문은 매우 높은 수준입니다.
C# 부분에서는 일단 정규 표현식을 정의하면 간단합니다. 당신은 그것을 유용한 페이지를 찾을 수 있습니다
static void Main()
{
// Remove everything (by commenting out) everything between HTML
// and the end of the HEAD tag.
string matchRegex = "<html[^>]*>(.*?)</head>";
string replaceExpression = "<html> <!-- \0 </head> -->";
string pattern = "*.html";
using (DirectoryInfo di = new DirectoryInfo(.))
{
foreach (FileInfo fi in di.GetFiles(pattern))
{
using (StreamReader sr = fi.OpenText())
{
// Going from memory here, may need to use a TextReader...
string content = fi.ReadToEnd();
// Treat as single-line so that the match can span
// several lines.
string newContent = Regex.Replace(content,
matchRegex,
replaceExpression,
RegexOptions.Singleline);
// Write-out/overwirte your new file here....
}
}
}
}
누군가는 그것은 정규식 사고 과정을 보여줍니다 등, 여러 줄 주석을 처리, 의견을 일치하는 정규 표현식을 작성하려고합니다. Finding Comments in source code. replace 부분은 쉽고, 캡쳐 그룹을 넣고 그룹/이름을 대체 문자열로 참조하십시오!
html 파일 컬렉션을 반복하는 C# 코드를 작성하려고합니다. 따라서이 텍스트 편집기를 사용하지 않을 것입니다. 여러 행에 걸쳐 일치하는 RE를 수행하는 방법에 대한 예가 있습니까? – NickGPS
도움 주셔서 감사합니다. 나는 <과 >을 인코딩하지 않았으므로 질문을 편집하여 질문을 조금 모호하게 만들었습니다. 루프를 작성하는 방법을 이해합니다. 여러 줄과 일치 할 수있는 정규 표현식의 예가 무엇입니까? – NickGPS
^및 $의 동작을 변경하려면 RegexOptions.Multiline 또는 RegexOptions.Singleline을 전달하십시오. Multiline = "^ 및 $의 의미를 변경하여 전체 문자열의 시작과 끝이 아닌 모든 줄의 처음과 끝에 각각 일치시킵니다." –