/ / Regex zastąp w dopasowaniu - regex, notatnik ++

Regex zamień w match - regex, notepad ++

W Notepad ++ RegEx chcę wyszukać wszystkie ciągi znaków zaczynające się od tyldy i kończące się znakiem n, aw każdym dopasowaniu zastąp wszystkie spacje spacjami nie rozdzielającymi.

To znaczy, chcę znaleźć wszystkie wystąpienia ~.*^i w wyniku $0, Zamień wszystko [Space]s z [Non-breaking Space].

czy to możliwe?

Odpowiedzi:

2 dla odpowiedzi № 1

Możesz użyć następujących elementów, aby dopasować:

(?:~|G(?<!^))S*Ks

Lub spróbuj:

(?:~|G(?!^))S*K[ ]

I zastąp z nie niszczącą przestrzenią

Widzieć PRÓBNY

Kredyty


0 dla odpowiedzi nr 2

Z silnikami regex lookbehind o stałej szerokości wzoru (np. Perl):

s/(~.*?) {2,}/1 /g

z silnikami regex typu lookbehind o zmiennej szerokości:

s/(?<=~.*) {2,}/  /g

lub z Vimem:

s/(~.*)@<= {2,}/  /g

Nie jestem pewien co do Notepad ++. Mam nadzieję, że można to rozwiązać na podstawie powyższego.