이 PowerShell 스크립트의 주요 목적은 폴더 내의 HTML 파일을 검색하고 특정 HTML 태그를 찾고 내가 말하는 것과 바꾸는 것입니다.PowerShell의 Multiline Regex
나는 찾기의 3/4을 할 수 있었고 완벽하게 대체되었습니다. 문제가있는 것은 정규 표현식입니다.
automate -school "C:\Users\$env:username\Desktop\schools\$question" -query '(?mis)(?!exclude1|exclude2|exclude3)(<a[^>]*?>(\s| |<br\s?/?>)*</a>)' -replace ''
: 여기
<a href="programsactivities_skating.html"><br />
</a>
내가 그것을 사용하고있는 기능과 함께, 내가 지금까지 가지고있는 정규식 :
이
내가 내 정규식 발견하고 대체하기 위해 노력하고 마크 업입니다function automate($school, $query, $replace) {
$processFiles = Get-ChildItem -Exclude *.bak -Include "*.html", "*.HTML", "*.htm", "*.HTM" -Recurse -Path $school
foreach ($file in $processFiles) {
$text = Get-Content $file
$text = $text -replace $query, $replace
$text | Out-File $file -Force -Encoding utf8
}
}
내가 AB이에 대한 해결책을 알아 내기 위해 노력 해왔다 : 여기
그리고 은 자동화 기능입니다 지금 2 일을 나가고, 단지 그것이 일하게하는 것처럼 보일 수 없다. 문제가 멀티 라인을 설명하기 위해 정규 표현식에 알릴 필요가 있다고 판단했습니다. 그게 내가 문제가되는 것입니다.
누군가가 제공 할 수있는 도움은 매우 감사하겠습니다.
미리 감사드립니다.
완벽하게 작동했습니다. 감사합니다! –
V3 이상인 경우'$ text = Get-Content $ file -raw'. BTW는 줄 바꿈을 유지하지 않으므로 마지막 예제를주의하십시오. –