Regex в Java для символов "больше чем" или "меньше чем" без использования скобок "<|>" - PullRequest
0 голосов
/ 30 мая 2019

Мне нужно регулярное выражение для Java Pattern.compile ("<|>"), которое бы совпадало с символами больше или меньше без фактического использования скобочных символов. Есть ли какой-то специальный символ, который будет означать символ «>» или «<»? </p>

Дополнительная информация: причина в том, что моя устаревшая система передает регулярные выражения из файла ресурсов, который сначала анализируется с использованием некоторых HTML-тегов, и дополнительные скобки сбивают с толку синтаксический анализатор, поэтому он выдает ошибки. Решение состоит в том, чтобы заменить ">" и "<" чем-то другим, что Java Pattern будет интерпретировать как ">" и "<". </p>

Что я пробовал: Pattern.compile ("& grt;") не интерпретируется как ">"

Ответы [ 3 ]

4 голосов
/ 30 мая 2019

Я нахожусь на мобильном телефоне и не могу запустить это для проверки, но я считаю , что вы можете использовать кодовые точки Unicode для совпадения в скобках.Так что это должно работать: Pattern.compile("\\u003c|\\u003e");

2 голосов
/ 30 мая 2019

Есть несколько способов сделать это:

  • Вы можете записать это как ASCII-ординалы, например: ((char) 60) + "|" + ((char) 62);
  • Вы можете использовать escape-последовательности Unicode врегулярное выражение: \\u003c|\\u003e;
  • Вы можете использовать escape-последовательности Java Unicode, например: \u003c|\u003e.

Об этом последнем пункте - он редко используется, но программистможет использовать escape-последовательности Unicode в любом месте в исходном коде Java.Например,

public\u0020class\u0020Main {
    public\u0020static\u0020void\u0020main(String[] args) { }
}

является допустимым кодом Java.

0 голосов
/ 30 мая 2019

Вы можете просто экранировать такие символы, как:

Pattern.compile("\\<|\\>")

Используя обратную косую черту, вы говорите регулярному выражению, что «используйте этот символ как есть!»

Подробнее о экранировании символов см. https://www.baeldung.com/java-regexp-escape-char

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