Im пытается получить RegEx для работы, который удалит все пробелы между угловыми скобками текста. Но я не могу пройти мимо этой конкретной проблемы:Notepad ++ Удалить s между скобками
Во-первых, это RegEx я работаю над
([<].*\s[>])
В скобки заключают тег, который будет прочитан другой программой, таким образом, не может быть пространства. Вот пример
<tagname>foreign text with space that needs to stay like this</endtag>
иногда, хотя, они будут выглядеть неисправные (теги с пробелами между ними):
<ta gname>foreign text with space that needs to stay like this< /endtag>
Мое выражение терпит неудачу, потому что она будет включать в себя все, от первого < до последнего> , Я думал о том, как подойти к этой проблеме, и я думаю, что это можно сделать, если я удалю все \ s, которые граничат с латинским текстовым символом (теги являются единственными латинскими символами в текстах). Так я думал, что-то вроде:
([<>]\s\?[A-Za-z]\s\?[<>])
И заменить его
\1^\s
Но, видимо, это не так просто.
Спасибо, это работает отлично. RegEx также определяет, что после '<' не может быть прекращенной строки до появления '>'. Последний оператор действительно очень помог! Я хотел бы попробовать его на это: '([<][^>] *> [?][^>] *>)', чтобы проверить, если каждая скобка закрывается, чтобы убедиться, что нет двойников, как или –
user80407
'([<][^>] *> [?][^>] *>) 'работал иначе, чем ожидалось. Он соответствует этим строкам: '/tag>'.Он не соответствует '> тегу>' и ' tag <' –
user80407
Извините, это звучит как еще один вопрос. Пожалуйста, не стесняйтесь спрашивать. Однако имейте в виду, что проверка вложенных тегов не является лучшей задачей для регулярного выражения. –