Регулярное выражение, которое должно включать скобки, исключает их в Sublime Text - PullRequest
1 голос
/ 18 октября 2019

Я проверил следующее регулярное выражение, используя два разных онлайн-инструмента:

\<(.*?)\>

В обоих случаях они дают одинаковый результат, который должен соответствовать <any text within brackets>, включая скобки. Это то, что я хочу.

Но в Sublime Text результат другой. Это соответствует только <<code>any text within brackets>. Квадратные скобки исключены.

Вот пример текста, на котором я тестировал:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Text for testing regex -->
<data type="lorem">
<h3>Improving the lorem in your ipsum</h3>
</data>
<data type="image" number="1"/>
<data type="ipsum">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.
</data>

Это ошибка с Sublime Text, или может быть изменено регулярное выражение для включенияскобки в Sublime Text тоже?

Спасибо.

Ответы [ 2 ]

4 голосов
/ 18 октября 2019

В типе регулярного выражения, используемом sublime, символы < и > считаются литеральными, если их не экранировать. Итак, регулярное выражение, которое вы ищете: <(.*?)>.

Escapeing < имеет особое значение, которое является «началом слова». То же самое касается сбежавшего > и конца слова. Это вы можете попробовать в превосходном виде с помощью регулярного выражения \<d против d и приведенного вами примера.

1 голос
/ 18 октября 2019

Это,

(<.*?>)

может просто работать хорошо тогда.

Демонстрация

Фигурные скобки - это метасхемы для групп захвата, в которые вы просто хотели включить <>, чтобы ваша группа захвата $ 1 стала (<.*?>), Я полагаю.

RegEx Circuit

jex.im визуализирует регулярные выражения:

enter image description here


Если вы хотите упростить / изменить / изучить выражение, это было объяснено на верхней правой панели regex101.com . Если хотите, вы также можете посмотреть в этой ссылке , как она будет сопоставляться с некоторыми примерами ввода.


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...