이것을 돌려야 합니다:
zz zz zz zzzzYzzzzXzzzz zz zzzzzz zzzz zzYzz
이것에:
1Y1X1Y1
한 번에 급습하는 것이 좋습니다.
zz\s*zz
좋지만 필요한 것을 얻으려면 여러 번 실행해야 합니다.
페어(Pair)는 z의 최소 단위입니다.
zz는 공백(탭, 공백)의 조합과 숫자로 서로 구분됩니다.
X와 Y는 z와 공백을 제외한 모든 문자열이 될 수 있습니다.
공백은 항상 zz로 둘러싸여 있습니다(그리고 Y 및 X 문자열 안에 있습니다).
VBA 호환 구문을 사용하는 것이 가장 좋습니다.
답변1
GNU sed에서 다음을 사용하여 수행할 수 있습니다.
sed -r 's/[z ]+/1/g'
그것이 원하는 것이 아니라면 질문을 편집하여 원하는 것을 더 명확하게 설명하십시오.
답변2
VBA 코드는 아래 코드와 유사합니다.
Sub test()
MsgBox ReplaceIt("zz zz zz zzzzYzzzzXzzzz zz zzzzzz zzzz zzYzz")
End Sub
Function ReplaceIt(strIn As String) As String
Dim RE As Object
Set RE = CreateObject("VBScript.RegExp")
RE.Pattern = "[z ]+"
RE.Global = True
ReplaceIt = RE.Replace(strIn, "1")
End Function
다음은 Word에서 실행한 이 예제의 결과입니다.