Ответ Кримсона не работает для меня при тестировании его в Regex Powertoy с использованием <Escaped characters \<\> are right in the middle of this sentence.>, <Here is another sentence.>
в качестве теста, но это (кажется) работает:
/<(?<!\\<).*?>(?<!\\>)/gi
Дает мне два матча:
<Escaped characters \<\> are right in the middle of this sentence.>
и <Here is another sentence.>
Редактировать : Я посмотрел на строку, которая, по словам Гамбо, не совпадает. У меня нет проблем с соответствием в regex.powertoy.org:
альтернативный текст http://img362.imageshack.us/img362/3227/regexpowertoyorg.png
При тестировании я изменил исходное опубликованное регулярное выражение на: /(?<!\\)<(.*?)(?<!\\)>/gi
, что более эффективно (меньше проб).
Также в выводе regex.powertoy.org я замечаю, что четвертая строка (\<hello <match\<this\>> but not this\> looks odd... the printed replacement is just
match but the match detail clearly shows that the match is correct;
match \ . But I also notices that the first and third test string replacements don't print the "
`" выходит за пределы угловых скобок. После небольшой (но не исчерпывающей) игры вокруг I думаю, что это проблема с отображением текста через javascript, экранированные угловые скобки не печатают escape-символ, а непустые угловые скобки вообще не печатаются. Я думаю, это связано с просмотром javascript это как HTML. Итак, я думаю, что это регулярное выражение работает правильно. Но вы должны проверить его в автономном режиме.