Я работаю в RTF-файле, где мне нужно вставлять теги в пользовательский язык разметки, который программа заменяет данными. Например, в файле, у меня есть:Найти строки между << and >>, которые содержат обратную косую черту
Account number: <<@Account.AccountNumber>>
я редактирую этот шаблон в Microsoft Word 2007 и всякий раз, когда я забой, Microsoft Word вставляет кучу RTF мусора в шаблоне так что я получаю что-то вроде этого:
<<@Am\hich\af1\dbch\af31505\loch\f1 ount>>
Вместо:
<<@Amount>>
Как найти везде, где это случилось? Я пробовал писать регулярные выражения для этого, но я не знаю, как их писать очень хорошо. Вот один, что я пробовал:
<<.+?\\.+?>>
Но когда я прохожу в этой фразе:
<<Where: Phrase =\ @Value>>\<<hi>>\hi<<hi>>
обратной косой после «=» должен быть согласован, но ни обратной косой черты между "< < Где > > «и» < < привет > > «теги, ни„\ привет“между» < < привет > > "метки должны быть согласованы (regex101.com и Notepad + + соответствует им).
Меня не волнует, соответствуют ли только обратные косые черты, или все теги с обратными косыми чертами в них. Моя конечная цель - просто найти их быстро в Notepad ++ (или в другом редакторе, если это необходимо), чтобы я мог их исправить.
Try '<< (s?) (?: (<<)?!.) * \ K (?:? \\ [аз] \ w *) + \ s' заменить пустой строкой. Я не уверен, что это будет работать так, как вы ожидаете, если в '>' может быть несколько '' '' ''. Else, попробуйте '(? S) (?: << | (?! ^) \ G) ((?: (?! <<).) *?) (?: \\ [az] \ w *) + \ s' заменить на '$ 1', если внутри' <<...>> 'может быть много.'. –